{
  "nbformat": 4,
  "nbformat_minor": 0,
  "metadata": {
    "colab": {
      "name": "Power_plant_complete_solution_db.ipynb",
      "provenance": []
    },
    "kernelspec": {
      "name": "python3",
      "display_name": "Python 3"
    }
  },
  "cells": [
    {
      "cell_type": "code",
      "metadata": {
        "id": "lR2hQyi01jvY",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "!pip install ppscore\n",
        "!pip install feature_selector\n",
        "!pip install catboost\n",
        "!pip install sweetviz\n",
        "!pip install --upgrade pandas\n",
        "!pip install --upgrade numpy\n",
        "!pip install -U scikit-learn==0.21\n",
        "!pip install scikit-optimize\n"
      ],
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "4M9NSRaR1tMn",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 34
        },
        "outputId": "b4a01434-85ce-44f6-e9b6-0d597ce63558"
      },
      "source": [
        "import numpy as np\n",
        "import pandas as pd\n",
        "from mlxtend.feature_selection import ColumnSelector\n",
        "import ppscore as pps\n",
        "from time import time\n",
        "from IPython.display import clear_output\n",
        "import matplotlib.pyplot as plt\n",
        "%matplotlib inline\n",
        "from sklearn.feature_selection import SelectFromModel\n",
        "from sklearn.model_selection import KFold, cross_val_score\n",
        "import seaborn as sns\n",
        "from sklearn.metrics import mean_squared_error \n",
        "from google.colab import files\n",
        "from sklearn.model_selection import KFold, train_test_split,StratifiedKFold\n",
        "from catboost import CatBoostRegressor\n",
        "from lightgbm import plot_importance,LGBMRegressor\n",
        "import warnings\n",
        "import sklearn as sk\n",
        "from scipy import stats\n",
        "import numpy as np\n",
        "import re\n",
        "from mlxtend.regressor import StackingCVRegressor\n",
        "from sklearn.linear_model import ElasticNet, Lasso\n",
        "import warnings\n",
        "from google.colab import files\n",
        "import featuretools as ft\n",
        "import featuretools.variable_types as vtypes\n",
        "from google.colab import drive\n",
        "\n",
        "warnings.filterwarnings('ignore')\n",
        "drive.mount(\"/GD\")\n"
      ],
      "execution_count": 8,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "Drive already mounted at /GD; to attempt to forcibly remount, call drive.mount(\"/GD\", force_remount=True).\n"
          ],
          "name": "stdout"
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "h5okeen0Dpa1",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "###CHANGE THE ADRESS HERE############################\n",
        "df_train = pd.read_csv(\"/GD/My Drive/power/Train.csv\")\n",
        "df_test = pd.read_csv(\"/GD/My Drive/power/Test.csv\")\n",
        "#####################################################"
      ],
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "0LmmXudeDrSn",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 51
        },
        "outputId": "8a62c6cf-4c78-4dc5-c52c-c1553088efd8"
      },
      "source": [
        "#IDENTIFYING DUPLICATES IN THE DATASET\n",
        "print('No. of duplicates in train: '+str(len(df_train)-len(df_train.drop(['PE'],axis=1).drop_duplicates())))\n",
        "print('No. of duplicates in test: '+str(len(df_test)-len(df_test.drop_duplicates())))"
      ],
      "execution_count": 27,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "No. of duplicates in train: 3110\n",
            "No. of duplicates in test: 28750\n"
          ],
          "name": "stdout"
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "uU4fi22R16LU",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "\n",
        "#WITH THESE MANY DUPLICATES IN TRAIN AND TEST, CHANCES ARE SOME OF THEM WILL BE EXACTLY SAME.\n",
        "#SO WE ARE JUST MANUALLY IMPUTING THOSE VALUES BY TAKING MEAN FROM TRAIN AND WILL PREDICT FOR THE REST OF THE DATA\n",
        "df_test['key']=df_test[['AT', 'V', 'AP', 'RH']].apply(lambda x: '_'.join(x.astype('str')), axis = 1)\n",
        "df_train['key']=df_train[['AT', 'V', 'AP', 'RH']].apply(lambda x: '_'.join(x.astype('str')), axis = 1)\n",
        "df=pd.DataFrame(df_train.groupby(['key'],as_index=False)['PE'].mean())\n",
        "df=df.reset_index()\n",
        "encode = dict(zip(df.key, df.PE))\n",
        "df_test['PE']=df_test.key.map(encode)\n",
        "#THERE ARE ABOUT 15-20K DUPLICATES IN TEST WHICH EXACTLY RESEMBLE THOSE IN TRAIN. \n",
        "df_test2=df_test[np.isnan(df_test.PE)].drop(['PE'],axis=1)\n",
        "df_train2=df_train.drop(['PE'],axis=1).drop_duplicates()\n",
        "encode = dict(zip(df_train.key, df_train.PE))\n",
        "df_train2['PE']=df_train2.key.map(encode)\n",
        "df_train2.drop(['key'],axis=1,inplace=True)\n",
        "df_train.drop(['key'],axis=1,inplace=True)\n",
        "df_test2['is_what']='test'\n",
        "df_train2['is_what']='train'\n",
        "#COMBINING TRAING AND TEST FOR AUTOMATED FEATURETOOLS\n",
        "feats=df_train2.drop(['PE'],axis=1).append(df_test2.drop(['key'],axis=1))\n",
        "Y=df_train2['PE']\n"
      ],
      "execution_count": 2,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "k39FpgkC2xtm",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 487
        },
        "outputId": "cf0095f9-d2bb-4ce2-d114-56b910cbedcf"
      },
      "source": [
        "#Tree based relationships\n",
        "df=pps.matrix(df_train2.drop(['is_what'],axis=1))\n",
        "fig, ax = plt.subplots(figsize=(8,8)) \n",
        "# sns.set(font_scale=1.3)\n",
        "g=sns.heatmap(df, vmin=0, vmax=1, cmap=\"Reds\", linewidths=3, annot=True,ax=ax,annot_kws={\"fontsize\":10})\n",
        "\n",
        "#AT and V seems to be the most important in explainaing target"
      ],
      "execution_count": 6,
      "outputs": [
        {
          "output_type": "display_data",
          "data": {
            "image/png": "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\n",
            "text/plain": [
              "<Figure size 576x576 with 2 Axes>"
            ]
          },
          "metadata": {
            "tags": [],
            "needs_background": "light"
          }
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "fJghNm1u3Y8N",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 374
        },
        "outputId": "49246fcb-e59a-4b4a-a99d-2057eb07ed8a"
      },
      "source": [
        "corr=df.corr()\n",
        "mask = np.triu(np.ones_like(corr, dtype=np.bool))\n",
        "plt.figure(figsize=(6,6))\n",
        "sns.heatmap(corr,vmin=-1,cmap='coolwarm',annot=True,mask=mask);\n",
        "#no collinearity found. linear models will perform well here but i sadly didn have the time to explore them\n",
        "#FOR IMPROVEMENT I STRONGLY SUGGEST CREATING A TARGET MIMIC COLUMN BASED ON KFOLDED PREDICTIONS WITH A LINEAR MODEL "
      ],
      "execution_count": 9,
      "outputs": [
        {
          "output_type": "display_data",
          "data": {
            "image/png": "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\n",
            "text/plain": [
              "<Figure size 432x432 with 2 Axes>"
            ]
          },
          "metadata": {
            "tags": [],
            "needs_background": "light"
          }
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "hx7rgOQ46agy",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 282
        },
        "outputId": "4440752d-8c43-4bc3-9aa7-ad48a87f2026"
      },
      "source": [
        "df_train2.boxplot(column='AT')"
      ],
      "execution_count": 11,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "<AxesSubplot:>"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 11
        },
        {
          "output_type": "display_data",
          "data": {
            "image/png": "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\n",
            "text/plain": [
              "<Figure size 432x288 with 1 Axes>"
            ]
          },
          "metadata": {
            "tags": [],
            "needs_background": "light"
          }
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "UX0JdlTa6iPD",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 282
        },
        "outputId": "7192df1f-125a-4f90-8d37-38b8c290cad4"
      },
      "source": [
        "df_test2.drop_duplicates().boxplot(column='AT')"
      ],
      "execution_count": 12,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "<AxesSubplot:>"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 12
        },
        {
          "output_type": "display_data",
          "data": {
            "image/png": "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\n",
            "text/plain": [
              "<Figure size 432x288 with 1 Axes>"
            ]
          },
          "metadata": {
            "tags": [],
            "needs_background": "light"
          }
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "SklcSJu_7DUf",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 298
        },
        "outputId": "4aeb285a-7196-4bf1-bc45-83506d9365b4"
      },
      "source": [
        "df_train2.hist(column='PE')\n",
        "#no need to normalize target\n",
        "#similar to bimodal distribution "
      ],
      "execution_count": 13,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "array([[<AxesSubplot:title={'center':'PE'}>]], dtype=object)"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 13
        },
        {
          "output_type": "display_data",
          "data": {
            "image/png": "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\n",
            "text/plain": [
              "<Figure size 432x288 with 1 Axes>"
            ]
          },
          "metadata": {
            "tags": [],
            "needs_background": "light"
          }
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "Dw7d5ZxA3zu4",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "#AUTOMATED FEATURE ENGINEERING, WITH SO LESS FEATURES PRESENT AND MY LACK OF DOMAIN KNOWLEDGE ITS BETTER TO USE THIS . \n",
        "#REMEMBER THIS IS NO REPLACEMENT FOR PEOPLE WHO ACTUALLY KNOW THE DOMAIN AND CREATE RELEVANT FEATURES RELATED TO THERMODYNAMICS\n",
        "#VERY HIGH AMOUNT OF TIME NEEDED FOR FEATURE SELECTION AFTER CREATING THESE MANY FEATURES TO IDENTIFY THE BEST. NOT FEASIBLE FOR LARGER DATASETS\n",
        "df2=feats\n",
        "es = ft.EntitySet(id = 'power')\n",
        "variable_types = { 'is_what': vtypes.Categorical\n",
        "                  }\n",
        "es.entity_from_dataframe(entity_id = 'data', dataframe = df2, \n",
        "                         make_index = True, index = 'index',variable_types=variable_types)\n",
        "feature_matrix, feature_list = ft.dfs(entityset = es, target_entity = 'data',\n",
        "                                      trans_primitives = ['percentile','divide','multiply'],max_depth=3\n",
        "                                      )\n",
        "main2=feature_matrix\n",
        "TEST=main2[main2['is_what']=='test'].drop(['is_what'],axis=1)\n",
        "TRAIN=main2[main2['is_what']=='train'].drop(['is_what'],axis=1)"
      ],
      "execution_count": 3,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "WGJaeJWq4OVV",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "lgbmcols=['AP / V * PERCENTILE(V) / V', 'V', 'PERCENTILE(AP) * PERCENTILE(V)',\n",
        "       'AT * RH', 'AT', 'PERCENTILE(AP) / RH * PERCENTILE(V) / AP',\n",
        "       'PERCENTILE(AP) / V', 'V / PERCENTILE(V)']\n",
        "catcols=['AT', 'AP / V * PERCENTILE(V) / V', 'V', 'V / PERCENTILE(V)', 'AT * RH',\n",
        "       'PERCENTILE(AP) / V * PERCENTILE(V) / V', 'AP / AT * AP / RH',\n",
        "       'PERCENTILE(AP) / RH * PERCENTILE(V) / AP']\n",
        "imp_columns=['AP / V * PERCENTILE(V) / V', 'V', 'PERCENTILE(AP) * PERCENTILE(V)',\n",
        "       'AT * RH', 'AT', 'PERCENTILE(AP) / RH * PERCENTILE(V) / AP',\n",
        "       'PERCENTILE(AP) / V', 'V / PERCENTILE(V)','AT', 'AP / V * PERCENTILE(V) / V', 'V', 'V / PERCENTILE(V)', 'AT * RH',\n",
        "       'PERCENTILE(AP) / V * PERCENTILE(V) / V', 'AP / AT * AP / RH',\n",
        "       'PERCENTILE(AP) / RH * PERCENTILE(V) / AP']\n",
        "IMP_COLUMNS2=list(set(imp_columns))\n",
        "TRAIN_FINAL=TRAIN[IMP_COLUMNS2]\n",
        "TEST_FINAL=TEST[IMP_COLUMNS2]\n",
        "cb = CatBoostRegressor(bagging_temperature=1.0, verbose=0,\n",
        "border_count=255,depth=8,iterations=4000,l2_leaf_reg=2,learning_rate=0.05207083574210583,random_strength=1e-09)\n",
        "lgbm=LGBMRegressor(n_estimators=800,learning_rate=0.1)\n",
        "stack = StackingCVRegressor(regressors=[cb,lgbm], \n",
        "                           meta_regressor=ElasticNet(alpha=0.001, l1_ratio=0.3))"
      ],
      "execution_count": 9,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "jlcVteWP4Caw",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 690
        },
        "outputId": "85eb23a3-0093-4655-e420-56cb3dff1310"
      },
      "source": [
        "#Tree based relationships\n",
        "TRAIN_FINAL2=TRAIN_FINAL\n",
        "TRAIN_FINAL2['PE']=Y.values\n",
        "df=pps.matrix(TRAIN_FINAL2)\n",
        "fig, ax = plt.subplots(figsize=(8,8)) \n",
        "# sns.set(font_scale=1.3)\n",
        "g=sns.heatmap(df, vmin=0, vmax=1, cmap=\"Reds\", linewidths=3, annot=True,ax=ax,annot_kws={\"fontsize\":10})\n",
        "\n",
        "#we have managed to create few more significant variables with automated feat engineering"
      ],
      "execution_count": 6,
      "outputs": [
        {
          "output_type": "display_data",
          "data": {
            "image/png": "iVBORw0KGgoAAAANSUhEUgAAApIAAAKhCAYAAADjZk5lAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy86wFpkAAAACXBIWXMAAAsTAAALEwEAmpwYAADjrklEQVR4nOzdd3wUVdfA8d/ZTUJPAqRQQm/SbKCidFAB6YICYkewd1FfFLFRHsUHCyggIlasD0pRUSkSARVQ6UU6BFJooZNk975/7CTsbjaV7G4M5+tnP2bu3Lnn7Mxmcrl3ZlaMMSillFJKKVVQtmAnoJRSSiml/p20I6mUUkoppQpFO5JKKaWUUqpQtCOplFJKKaUKRTuSSimllFKqULQjqZRSSimlCkU7kkoppZRSJZyITBeRZBFZl8N6EZE3RWSriKwRkUvz0652JJVSSimlSr4ZQNdc1ncDGlivYcA7+WlUO5JKKaWUUiWcMWYJcCiXKr2BD43Lb0CkiFTNq13tSCqllFJKqerAHrflvVZZrkL8lo5SqqD0+0qVUqr4EH80eo+E++VcP4Vjd+Oaks401Rgz1R+x3GlHUimllFLqX87qNJ5LxzEBqOG2HGeV5Uo7kkoVM/dIeEDjTTZHPZbN5t8CGh9AGrXyLDiZGtgEykYEN76PHJ4IiQxo+PEZRzwLisE+0M9B8M8HxWEfBP1zUMSK8TWFs4EHROQz4Aog1RizP6+NtCOplFJKKVXCichMoAMQJSJ7gVFAKIAxZjLwHXAdsBU4CdyRn3a1I6mUUkopFSA28cull3kyxgzKY70B7i9ou8V4hFUppZRSShVnOiKplFJKKRUgJW0ETzuSSimllFIBYgvOzLbflLSOsVJKKaWUChAdkVRKKaWUCpCSNoJX0t6PUkoppZQKEB2RVEoppZQKkGA9/sdfdERSKaWUUkoVio5IKqWUUkoFSEkbwdOOpFJKKaVUgOjjf5RSxcot703ilaRtjFz7m99ixK9aQ9d7n+LaYcOZ+tXcbOtXrNvE9Y88R9M+d/DD0hUe65r0uZ0+D4+kz8MjufflCX7LccnS5XTp059rel3P1Okf+C1OMOM36tKZJ9ev4OlNf9LxyUeyra9YswZ3//gtj/25lHsXzCWiejUA6nVoy6Mr47NeY48n0rRX9yLP73w4BsU9h0CcD/IS7H0Q7PjnG+1IKkRkkYh08Sp7RETeyaH+ZBFp7VX2vIgkiMjfIrJORHr5KM98RYpIBxFJtZY3ich4t7bKi8gUEdkmIqtEZLGIXGGtc3i19bRVvlhEVrq10dIq6+JW97iIbLZ+/tDKYa5V/3YRmejjve4UkbVubbzptu51EWknIqNEZKzXdheLyEbr559FpGJ+j0dBLZ/xCW91vd5fzeNwOHlxyoe8O+px5k4ay7wlv7F1d4JHnarRlRn78F30aN8q2/alw8L45o2X+OaNl3jn2Uf9lKODF8e9wrSJbzDv68+Z+8N8tm7b7pdYwYovNht93xzPtB79ebX5FVwyoD+xjRt51Onxykus+ugz/ntpa356+RWuGz0KgG2L45nQsi0TWrZl8jU9ST95ii0/LSzS/M6HY/BvyMHf54O8BHsfBDt+ftj89AoW7UgqgJnAQK+ygVa5L60AX//cnWCMuRi4AZguIjb3crfXEas83qp/CdDDrXM6DTgENDDGtADuAKKsdae82hrnFj9GRLq5J2SMmZ9ZF1gJDLaWb83hvfnS0S3eQwAiUhloZYxZgms/DfDaxn3/fQTcV4B4BbI1fhknDx32V/Os+Wc7NavGUqNKDGGhIVzX9goW/P6nR5242Gga1anJ2UMeWGvWradWjThqxFUnLDSU7l2uZcHiJSUqfs3LW3Bw23YO7diFIz2dv7/4mqa9rvOoE9u4Ef8scsXdumgJTXt1y9bOhf16s+mHn0g/dapI8zsfjsG/IQd/nw/yEux9EOz45yPtSCqAr4DuIhIGICK1gWpAvHdFEWkMbDHGOHJqzBizEcjgbOcvV8aYU8DfQHURqQdcATxrjHFa63cYY+blo6lXgWfyE7MI9AN+ADDGbAEOZ46aWm7kbEdyNjAoQHkVuaSDh6kaVSlruUpUJZIO5v8P1Zm0dPo9NooBT7zIz7+t8keKJCWnUCU2Nms5NjaGpJQUv8QKVvyIalU5sufsSPCRvfuIqFbVo86+Neto3rcnAM369KR0eDhlK3kOhl8yoB9/ff51keYG58cx+DfkEGzB3gfBjp8fIuKXV7BoR1JhjDkE/AFkDl8MBL4wxhgf1bthdaByYnWonEDmb++jblPDi3zUrwg0AJYATYG/c+molvGa2nYfCVwOpIlIx9zyK4RFbvEy52ZbA+69oqxRXRFpBRwyxvwDYIw5DJSyRjHPOwvfe42v//sC45+4hzHTPmX3/qRgp1RizX1yJPXatebRFUuo1641R/Ym4HQ4s9ZXqBJLlWZN2Dx/QRCzVOr8VtKmtvWubZUpsyP0rfX/ITnU64JrqtmXR0XkZuAYMMAYY6x/JU0wxoz3Ub+tiKzG1Yl83RiTmI9/VZ2ypqlz8jLwLPBUXg0VQEdjzAGvsqqc7SgDfA4sE5HH8X1ZQDKuUd6D7oUiMgwYBjBlyhSGDRtWhGkXjdjKFdl/4FDWcuKBQ8RWzv8ln7GVXaOZNarEcHmzC9iwfTc1q8bmsVUBc4yJJjHpbAc1KSmZ2OjoIo0R7Pip+/YTWaN61nJkXDVS9+33qHN0fyIf3HALAGHlytH8+p6cTk3NWn/RDX1Z981cnBkZRZobnB/H4N+QQ7AFex8EO/75SEckVaZvgc4icilQ1hiTbQ5SRMoCkcaYfTm0kXktZFtjTLZpcR/ijTEX4RqFHCIiFwPrgYtExF6YN2GMWQiUwXUdpz+dAkq7xd0D7ADa45r2/tyrfmlrGw/GmKnGmJbGmJbFsRMJ0LxBHXbtS2JvYgpp6Rl8F/87na64JF/bph4/QVp6OgCHjx7jr43/UL9GtaLPsWkTdu7ew56EBNLS05k3/0c6dWhb5HGCGX/Pij+Jql+PSrVrYQ8N5eIb+7F+zvcedcpWrpQ1xdXp6UdZMeMTj/WXDPTPtDacH8fg35BDsAV7HwQ7fn7YxD+vYNERSQWAMea4Ne08nZxvsukIZJuaLoLYO0RkHPCUMWaQdff1CyIy0hrVrA00zed1kuAalZwM+PNWvY1AfWCxW9lMYAKw3RizN7NQXH/ZqwA7/ZHIkE+n07BDG8pHVWbsno3MGTWGZdM/KrL2Q+x2Rt59C0OefxWn00m/q9vRoGYcb37yP5rVr02nKy5l7T/beWDMmxw9foJFK/5i4qf/Y+6ksWzbs49Rb8/AJoLTGIb26079mtXzDlrQHENCeO6p4dx130M4nE769e5Jg3r1ijxOMOM7HQ5mPTycod99jdjtrJjxMUkbNtHl+RHsWfkXG+Z+T/32beg2ehQYw/b4ZfzvwSeytq9YqyaRcdXZ/suvRZpXpvPhGPwbcvD3+SAvwd4HwY5/PhLfl8Gp85GI9AFmAY2NMZt8rJ8IfGWMWexj3fPAce8pbKt8KJ7TwH2A2sATxpgeVr0ywFZc1x4eAl4DOuEaxTsADDfGrBARB7DWra0fjDFPi8hiq72VVnurgGPGmA5uuXjX6ZCZg4jcDkwEjri13Qr4FddUfeY1m2uMMbeKSFvgbmPMzW7tRwH7gQeNMZPdylsC/2eM6ee937wYgHskPI9qRWuyOeqZxObAP39OGnkNIJ9M9V3RX8pGBDe+jxyeCIkMaPjxGUc8C4rBPtDPQfDPB8VhHwTxc+CXcb4XSlX0S8dr1JnDQRmX1BFJlcUY8w25/+JcBfh8EKAx5vlcyn2t24nbaJ5157b7UNXQHNrzOeXt3mG0llvko87izByMMTOAGT6arp1DvHgRGSsikZmPM7Kuowz1Uf0W4G1f7SillDq/2IJ4h7U/6DWSKt+MMZcaY9KDnUcx8jhQMx/11hlj9DZZpZRSJY6OSCpVSMaY3/NZ711/56KUUurfoaSN4JW096OUUkoppQJERySVUkoppQIkmI/q8QcdkVRKKaWUUoWiI5JKKaWUUgFS0kbwtCOplFJKKRUgNv88njJoSlrHWCmllFJKBYiOSCqllFJKBYjebKOUUkoppRQ6IqmUUkopFTAlbQRPO5JKKaWUUgGiU9tKKaWUUkoBYowJdg5KKRf9ZVRKqeLDL2OHb5WL8su5/sETB4Iy1qkjkkoppZRSqlD0GkmllFJKqQApaddIakdSKaWUUipAStpUsHYklSpmlsbWCGi81kl7PJbvkfCAxgeYbI56LDvGDAtofPuIqZ4FJ1MDGh+AshEei85V8wMa3taii2fBoX0BjQ9ApWqey4E+Dl7HoDh8DoJ9PuDEkYDGB6BcpOdysD8HKlfakVRKKaWUCpCSNrVd0kZYlVJKKaVUgOiIpFJKKaVUgNj881ShoNERSaWUUkopVSg6IqmUUkopFSAl7RpJ7UgqpZRSSgVICetH6tS2UkoppZQqHB2RVEoppZQKkJI2ta0jkkoppZRSqlB0RFIppZRSKkBK2uN/tCOplFJKKRUgOrWtlFJKKaUUOiKp1L9CZMcO1H35ebDbSfpkJglvve2xvs6LowhvfSUA9jJlCI2qzO8NmxHR+kpqvzgqq17Z+vXYfM8DHPp+fpHmd8t7k2jeoyvHklN4qXmrIm07S92m2K4ZAGLDrP4Vs/wH3/UaXYq93z04po+GxF1QuzG2jteDPQQcGTgXfgW7Nhd5ekuWLmf0q6/hdDq5oU9vht15W5HHcBe/egNjPvwfTqeT/h2vZGivazzWz5i3kK8WL8dus1MpvDwvD7uJ6tGVChxnyfI/GP36RJwOBzf06s6wW2/yWJ+WlsaTL45l/aYtREaEM+HlUcRVrZK1fl9iEt1vup0HhtzOkMEDXLnN/JIv58xDRGhYry5jn3mKUqXCCrEXvHIN8DEIRg6BPBcsWbKE0S+/hNPh5Ia+vRh2h+d7SUtL48mRL7B+4yYiIyOYMO5l4qpVA2DK9Bl89c0cbHYbzw5/nLZXnT0vOBwO+t18O7HR0Ux5878ALP9jJa+8/ibp6ek0bX4ho0ePJiSkcF2U4vA5yE1JG8Erae/Hg4g4RORvEVknIl+KSFmv8szX01b5YhHZLCKrRWSFiFzs1lY3EVkpIhtE5C8Rec0qf15EErzaixSRDiJiRKSnWxtzrfJZVr2tIpLqtt1VVg4trfo7RSTK6z3dLiIpXvGaWOuqishcr/qvW/nZcmhjg4gMtcp7iMiLOexLEZHaInJ7Dus7uL2XjSIyykd55utqH8dnjohEurX3hIhsstavEJFbvY5RZltfuR2HkyIS49bGcRGp7FY30etYhYnIcatubRFZ5+N9zRCRHW7bLHNb10dEnhOR9iKy3Gu7EBFJEpFqIjJeRDr52m/5YrNRd9zLrL/pVv5q24novr0p07CBR5Udz73A6s5dWd25K/vfe5+D37k6WalLl2eVr+83EMep0xxZ/EuhU8nJ8hmf8FbX64u83Swi2LrchPPzN3FOHYU0uQyiqmavF1YK22WdMAnbz5adOo7zy4k4p72Ac+772HrdWeTpORwOXhz3CtMmvsG8rz9n7g/z2bpte94bFjae08lL73/J1CfvYc6rI5i3bBVb9+73qNO4dhxfvjycb//zNNdefhHjZ35b8DgOBy++9gbT/juOeTNnMPenBWzdsdOjzpdzviO8QgV++uoTbh94A+MnTfFYP+7Nt2nb6oqs5aTkFD788n98PX0Kcz95H4fDwbyfFxY4N5+5BvAYBCWHAJ4LHA4HL774ItPeep15X3/G3B9+ZOt2z/fy5TezCQ+vwE+zv+b2wQMZ/8YkALZu3868+T8x76uZTJv4Bi+MewWHw5G13YczP6dendpZy06nk6dHvcB/x77M3C9nUq1aNWbNmlWoXVQcPgfnmxLdkQROGWMuNsY0A9KAe7zKM1/j3LYZbIy5CHgbeBVARJoBE4GbjTFNgJbAVrdtJni1d8Qq3ws8452UMaavMeZi4C4g3m27Zd51c/C5V7wNVvljwLuZlazOY19gD9DeVxtAB2CMiMQC84CemR1uL5OBNkBNEXlPRKr7qBNvtdkSuFlELnUvd3v9bJW7H59DwP1W3vcA1wCXW+11xvMZroPd2urvVn4AeNw9IWPMwcy61ntwP1ZpPt6DL8PdtrnKrfxJXJ+TeCBORGq5rbsaWG+M2Qe8BTydz1jZVLj0Yk7v2MmZXbsx6emkfDObSl2vzbF+VN/epPwve6ehcs/rOLJwEc5TpwubSo62xi/j5KHDRd5ulmp14HAyHDkATgdmwwqkwUXZqkm73jiXz4eM9LOFSXvgeKrr55R9EBLmGp0sQmvWradWjThqxFUnLDSU7l2uZcHiJUUawyPe1l3UjI2mRmwUYSEhXHflpSxctdajzhVNG1LGGuW7qEFtkg4dKXicDZuoFVeNGtWrud7X1Z1YsGSpR52F8Uvpe10XALp0bM/ylX9ijAHg519+pXrVqjSoW9tjG4fDwekzZ8jIcHD69BlioioXOLdsuQb4GAQjh0CeC9asWUOtWrXc3ss12d7LwsVL6NujOwBdOndi+YoVGGNYsHgJ3btcQ1hYGDWqV6NWXBxr1rn+TCUmJbE4fin9+/TOaudIaiqhoaHUqVUTgNatW/Pjjz/mf8e4510MPgd5ET+9gqWkdyTdxQP1C1B/OZDZWXoSGG2M2QRgjHEYY97JRxurgVQRuSbPmkWjH+A+39cBWA+8AwzytYExJhnYBtQyrrP/YqCHj6r3WW3cCfyfMSYhpySMMSeAVRR+f48A7jXGHLXaO2qM+SAfbUwHBohIwefvCkhEGgJnjDEHjDFO4AtgoFuVgcBMAGPMLqCyiFTJ3lLewqpUIW3fvqzltH37KVXFd1Ol4qpTumYNUn9dmm1dVJ9epMwq+KhUsVAhEnP00NnlY0egQkXPOrE1kfBKsM2zQ+XhgkshcTc4Moo0vaTkFKrExp5NJTaGpJSUIo3hLvnwEapUjjwbr1IkSYdSc6z/9aLfaHtRkwLHSUo5QJWYrEF+YmOiSUo5kK1O1VhXnZAQOxXKl+dw6lFOnDzFux/P5IEhntOKsTHR3HnTjXTsO4A2PftRvnw52lxxWYFzy5ZrgI9BMHII5LkgKSmJKm5tx8bEkJTs+V6SUlKoWiXz2Ie4jv2R1Bz2QzIAY8ZPYPjDD2Bzu+OkYmQkjgwHazdsBOCHH34gMTEx1/xyzLsYfA7yYhPxyyto7ydokQNIREKAbkDmX5gyXlOtA3xs1hX4xvq5Ga6OUU4edWtrkde60cCz55C+LwO88i8jInWAw8aYM271BuHqzMwCuotIqHdDIlIXqMvZEdaVQFsfMSdabU0HRotItZySE5HKQCtcnViAtl751vOqb8c16jhbRMKBCsaY3OYiPnFr61W38uNWfg/nsm1hvOoW7xOrrDXwp1udmVgdSREpBVwHfO22/k9rGw8iMkxcl0ysnDp16jknGtWnFwfmfgdOp0d5aEwM5S64gCOLin5au3gQbFffgHPBlzlXiaqKrWM/nN9/HLi0ioHZv65g3Y7dDOlR+KsrCmPitBncNqA/5cqW8ShPPXqMBfHLWPD1TOLnfMWp06f59oefAprb+aA4ngsWLfmVSpUq0axJY49yEeG/Y19m7PgJ9L/lDsqVK4fNdl50T0qEkn6zTRkR+dv6OR54z/r5lDXV6csnIhIGlAdyquNtgjFmvK8VxpglIoKItMlnW/nxuTHmAfcCEakKpLgth+HqzDxmjDkmIr8DXYDMaygHWDmdAe42xmQO9yQDvjqJ9wG1gBBjjM/rKHF1GP8CnMA4Y8x6EemAa2rb1yhn5vGpDmwEfgLK5frOXQYbY1bmsO5N4G8R8Xk8Cmm4MeYrrzKP/W2MWSki5UWkEdAY+N1tn0IO+9UYMxXI7EEaX8HTEhMJq3Z207BqVTmTw7/Wo/r0YvvT2f/dEtW7Bwe//wGTUbQjcQFz7AgSXunsDqoQCcfcptJLlYbo6tgGW1c2lI/AdsP9OL+c5LrhpkIktn734ZwzHY4U/ehEbEw0iUlJWctJScnERkcXeZxMMRUjSTx45Gy8Q0eIrRSRrd6ytZuZ8s2PfDjyIcJCs/07Mk+x0VEkJiefjZOcQmx0VLY6+5OSqRITTUaGg2PHj1MxIpzVGzYyf9EvjJ80haPHj2MTG6XCwqhcqSJxVatQqWIkANe2b8tfa9fRu+u5TdwE+hgEI4dAngtiY2M9RgWTkpOJjfF8L7HR0exPTKZKbCwZGRmuYx8ZkcN+iGHhkiUs/GUJS35dxpm0Mxw/cYInnhnF+NEvcMlFzfl0uutU+Otf69i5c2ee+8Nn3sXgc5CXEvb0nxI/Iul+LeSD+bwmbjCuEboPcF3bBq6RtRbnkIc/RiW9nQJKuy13ASKBtSKyE9f1je7T25nXWV5hjHG/qrm01ZYH47LTGDMjlxzijTGXGGNaGGMm5ydnq0NfC9fv1v3WdPZxa6S0wKzrUz/Fut7Sj7z3N5wdlcya1nbjc7/mx7G/VlOmbm1K1ayBhIYS3acXh+ZnH8EpU78eIRERHFuZffA8um9vDvxbp7UB9u2EijEQURlsdqTJZZh/Vp9df+YUztcfw/n2CJxvj4CE7Wc7kaXKYLvxQZyL/wd7t/klveZNm7Bz9x72JCSQlp7OvPk/0qmDr4H9IopXrya7ElPYm3yQtIwMvlv+Jx1bNPeos2HnHp5/7zMmPT6UyhEVChen8QXs3JPAnn37Xe/r54V0anuVR51Oba5i1neuO3/nL/qFVi0uQUT4dPKbLJz1GQtnfcZtA/pz922DufmGvlSrEsPq9Rs4dfo0xhiWr/yTerVr+QpfsFwDfAyCkUMgzwXNmzdn586d7EnYZ72Xn+jUvp1HnU7t2zJr7jwA5i9YSKvLWiIidGrfjnnzfyItLY09CfvYuWcPFzZrwuMP3s+SH+aycN43/Hfsy7Rq2ZLxo18A4OAh17+709LSePfddxk4cCCFURw+B+ebkj4iWSjGGCMiI4FtInIBrptu/icivxpjtlg3sQzLZ2cJY8yPIvISrlEsf9kC1HZbHgTcZYyZCSAi5YAdOdxI464hkO3uZX8yxpwUkYeAb0TkbWAsMElEBhhjjopIeeB6Y8yH+Wzyv8AK/Pv53gjc7FU2E5gNRABDvNY1BHKZd82Fw8H2/xtJ088+Brud5Jmfc2rzFmo++TjHV6/J+kMS1acXB76dnW3zUjXiCKtWjdRlvxUqfH4M+XQ6DTu0oXxUZcbu2cicUWNYNv2jogtgnDh/nIlt4CNgs2FWL4UD+5F2vTD7d4F7p9KLtOwIFWOwtekBbVwD486Zr8PJY0WWXkhICM89NZy77nsIh9NJv949aVCvXt4bFjae3c6zt/fnrnFv43Q6ub5DKxrEVeXNL+fRrG5NOrVozquffMvJ02k8+ub7AFStXJG3nxhWsDghdp57/CHueuRJ1/vq0Y0GdevwxtTpNGvciM5tW9O/Z3eGvzCGa/oPJiI8nAkvjcy1zYuaNqFLx/b0vW0YISF2GjdswIDeviYsCibQxyAoOQTwXBASEsJzzz3HXfdb76VXTxrUq8sb70yhWZPGdG7fjv59ejF85PNc06sfERHhTBj7MgAN6tWl2zVXc13/gdjtdp57ejh2uz3XeNM++JjF8UtxGieDbhrMlVdeWYgdVDw+B3kpaSOSknl3XUkkIseNMeV9lDs4e70kwA/GmKdFZDHwROa0qYg8DjQxxgwRkR7AC0BZXFOQc40xT4rI88BQ3KY5gT64OnVPZE7pikgv4FugozFmsVXWwb2OVZaVgzWSGIZrqhhcN3SswdWxdb/Z5T5jzDIRWQDcDezDdcd47cwbVqy2/wd8DpQBWnpPj1t15uK6mSaXOxay8/Ve3Mq/BXa4Fb9sjPnK+/iIyBzrPX4MDMfVGUu3Xq8ZYz629k9Vzo7uHTDGXG0dh+OZlxiIyH+BR40x4ta+Rx2r7LgxpryI1Ab+Ac7OicCjQHdcd7y738lwOa5O6gqgmXH7JbKm6jcZYwa6lYXiOm7NjTG5zScZgKWxNXKpUvRaJ+3xWL5HwgMaH2Dy2Y8pAI4xBevwnCv7CK/rU0/mfOOK35T1nJp2riraZ33mxdaii2fBoX2+K/pTJa+rPwJ9HLyOQXH4HAT7fMCJIwGND0C5SM/l4H0O/NLn+7JirF86XjccTgpKH7VEdyTPNyLSF2hhjCnUNLr1CKBPjTGdizazkklE3gDmuD3OKKd6fYFLjTG5D9VoRzKLdiS1IwloR5Lgnw+0I1n0vvJTR7J/kDqSOrVdghhjZll3TBdWTbyew6hyNQa4Is9art+z1/yci1JKqX8BCeKjevxBO5IljDFm2jlsu6IocynpjDFJuK6JzKte4a6NVEoppYo57UgqpZRSSgVIyRqPLPmP/1FKKaWUUn6iI5JKKaWUUgFS0kbwtCOplFJKKRUgJexemxLXMVZKKaWUUgGiI5JKKaWUUgEiJex2Gx2RVEoppZRShaIjkkoppZRSAVKyxiO1I6mUUkopFTAlrSOpU9tKKaWUUqpQxBi/fHe4Uqrg9JdRKaWKD78MHn4XVdUv5/rrDuwPymCnjkgqpZRSSqlC0WsklVJKKaUCRB//o5RSSimlFDoiqVTxczI1sPHKRgQ3vo8c7pHwgIafbI56FhSDfaCfgyDkEOz4xSGHYMcvDjl4xy9iJWs8UjuSSimllFIBo9+1rZRSSiml/nVEpKuIbBaRrSLytI/1NUVkkYj8JSJrROS6vNrUjqRSSimlVICIn155xhWxA5OAbkATYJCINPGq9izwhTHmEmAg8HZe7WpHUimllFKq5Lsc2GqM2W6MSQM+A3p71TFA5kXqEcC+vBrVaySVUkoppQLEFrzbbaoDe9yW9wJXeNV5HvhRRB4EygFX59WojkgqpZRSSgWIv6a2RWSYiKx0ew0rRHqDgBnGmDjgOuAjEcm1r6gjkkoppZRS/3LGmKnA1FyqJAA13JbjrDJ3Q4CuVnvLRaQ0EAUk59SojkgqpZRSSgWIiH9e+bACaCAidUQkDNfNNLO96uwGOrvylMZAaSAlt0a1I6mUUkopVcIZYzKAB4D5wEZcd2evF5EXRaSXVe1xYKiIrAZmArcbY0xu7erUtlJKKaVUgATzeeTGmO+A77zKnnP7eQPQuiBtakdSKaWUUipApIR9SaJObSullFJKqULRjqRSJcCSpcvp0qc/1/S6nqnTPzjv4t/y3iReSdrGyLW/BTx2pmDvg+KQw/kevzjkEOz4xSGHYMfPi0388wra+wleaKVUUXA4HLw47hWmTXyDeV9/ztwf5rN12/bzJj7A8hmf8FbX6wMa011x2AfBzuF8j18ccgh2/OKQQ7Djn4/81pEUEYeI/C0i60TkSxEp61We+XraKl9sfZH4ahFZISIXu7XVzXq45gbri8Rfs8qfF5EEr/YiRaSDiBgR6enWxlyrfJZVb6uIpLptd5WVQ0ur/k4RifJ6T7eLSIpXvCbWuqoiMter/utWfrYc2tggIkOt8h4i8mIu+zNURP70KntfRO72KusjIt97lUnm/nJf9qrjvv+Xikgjr/LM9/uVj32/QUQGubXVUES+E5F/RORPEflCRGKt/e++z/8WkautbUzmcbWWn7BiPONW1/2z85C1/gmr/gwR6e/1nmqLyCmveLdm7gMRWSgi4eL6gvouXts+IiLviEi0iPyQ03Gx6n4vInFuy7eJyEyvOlHWcS+VW1uFsWbdemrViKNGXHXCQkPp3uVaFixeUtRhim18gK3xyzh56HBAY7orDvsg2Dmc7/GLQw7Bjl8ccgh2/PwI1ndt+4s/RyRPGWMuNsY0A9KAe7zKM1/j3LYZbIy5CNeXhL8KICLNgInAzcaYJkBLYKvbNhO82jtile8FnvFOyhjT1xhzMXAXEO+23bJ8vq/PveJtsMofA97NrGR1Hvvi+jqi9r7aADoAY0QkFpgH9BSrw+1DG2CpV9lMXM+BcjfQKnd3rYiMBsqKyF3AIznEyNz/H2Dtf7fyzPfr3lmbYL2P3sAUq7Nb2nov7xhjGhhjLsV1PKOtbeK99t/PVvkZ4HrvzrsxZnRmXTw/O2/m8B68bfOK96FVfh2w2hhzlFz2ozEmBdgvIj7vYhORMkBlY8xet+JZwDVex7I/MMcYcyafeedbUnIKVWJjs5ZjY2NISsn1sV8lKn5xUBz2QbBzON/jF4ccgh2/OOQQ7Pj5oR3JwokH6heg/nJc3wkJ8CQw2hizCcAY4zDGvJOPNlYDqSJyTYEyLbx+gPvIVQdgPfAOrq8cysYYkwxsA2pZz2laDPTIof2uwPdeZQuAC0SkKoCIZH4v5jdecebjem7Uw7g6PRPyeC9LKMDxMsb8A5wEKgI3AcuNMXPc1i82xqzLo5kMXE/kfzS/cc/RYOBb6+evgO7iekArIlIbqIbrcwuu/Tk4h3Y64DpuWazO6S9AT7diXx18pZRS6l/N7x1JEQkBugFrraIyXlONA3xs1pWznaFmwKpcQjzq1tYir3WjgWfPIX1fBnjlX0ZE6gCHvUabBuHqOMzC1UkJ9W5IROoCdTk7wroSaJtD3I5k77A4gK+BG62insBiqyPjHucaoAvwJnBQRB7O4z325OzxAvjE7f2+6l1ZRC4F/rE6xnkdr7Ze+6+e27pJwGARicgjv4Ko5xUvc/+2zszTGHMI+APX5xRcnb4v3B7Cmttx6YbnPyAyZY1yikg1oCGw0LuSuH036tSpuX2zVc5iY6JJTErKWk5KSiY2OjqXLYpWsOMXB8VhHwQ7h/M9fnHIIdjxi0MOwY6fH+Kn/4LFnx3JMiLyN64/wruB96xy76ntz922+UREduCakp6UzzjuU9sd3VcYY5YAiEibc3onnryntk8BVXH7CiFrZOs64BurU/c7ro5cpgHWvpkJ3G11ZMD1XZbVvAOKSHXgkDHmpI983Kdlcxr1+tkY8wxwwhgzDVeH0pdPrLxaA0+4lbtPbQ93K39URNZb7290Dm16857a3pa5wtpXHwIP5bOt/PCe2s4cZaxkjDnmVi+3/ejzuFhaA7/6KJ8HtBaRcFwd/a+tjr8HY8xUY0xLY0zLYcOGFeBtndW8aRN27t7DnoQE0tLTmTf/Rzp1yKnfW/SCHb84KA77INg5nO/xi0MOwY5fHHIIdvzzkT8fSH7Kuq6tIAbjGiV6FXgLuB7X9HALXFPVhZE5KplRyO3z4xSu76PM1AWIBNaK676WsladzJtxPjfGPOCjndJWPW9dcU1N+7IMqCoiFwFXkf1aPzJH1owxz7sv+zDYGLMyh3W+TDDGjBfXVyu9Z40urif7NaEF8TrwJ/D+ObSRHxkiYjPGOK3lb4EJ1uhqWWOM+6iqz+NijSjvMcakea8zxpyybtLpi+uYPFbk78ASEhLCc08N5677HsLhdNKvd08a1KuX94YlJD7AkE+n07BDG8pHVWbsno3MGTWGZdM/Clj84rAPgp3D+R6/OOQQ7PjFIYdgx8+PfH4v9r9GsftmG2OMEZGRwDYRuQBXp/J/IvKrMWaLdRPLMGPM5Hy296OIvIRr1NBftgC13ZYHAXcZY2ZC1rWLO3K5kSZTQ8DXtYRdgZG+NrD21+e4bpD53hhzuoC5nzNjzGwRGQLchmtE8f9EpLsxZh6AiLQDDuXWhltbh0TkC2AIMN1fOQObcbuswBhz3Lo0YjrZR3VzOi45TWtnmgmMA8JxXffrN+3btqZ92wJ9q1WJiv/eTXcGLXamYO+D4pDD+R6/OOQQ7PjFIYdgxz/fBOM5kt7XSI7zrmBNF78GDDfGrMF1l/FMEdmI6w96Xbfqj3q1V9tHzNFAjULkukZE9lqv/1pl3tdIXmWMOYGr41vf6ix2xTW1mfl+TuCa/uyZPYSHju7bAYiIHaifebNRDmYCF+G/mzncr5H8OYc6L+IadTuD64ahB8X1+J8NwH2cnfr3vkayv4+2XgOifJTnZYrb8crsuHlfI5k5bT4P140y7nLaj9mOi6UruXckf8I1Jf55LqPASimlziM2P72CRfTvW9EQkb5AC2NMoW7usR4B9KkxprNXeRtcjz66x/eWqjCsO90/NMbkeVe/iCwBehtjDruVlQKWGmNaFmFarl/Gk6lF2GQ+lPW6tynQ8X3kcI+EBzT8ZM/704rFPtDPQRByCHb84pBDsOMXhxzOxvfLJPTvVWr4peN1ReKeoEyaF7up7X8rY8wsEal8Dk3UBB730e6v+L6ZQ50DY8x+EXlXRMK973J3JyLRwH/dO5HW9mdwPdNUKaWUOm9pR7IIWXdEF3bbFUWZi8qbMeaLfNRJweu5nEoppVRhSQm720a/a1sppZRSShWKjkgqpZRSSgVIyRqP1I6kUkoppVTAlLSOpE5tK6WUUkqpQtERSaWUUkqpANGbbZRSSimllEJHJJVSSimlAsZWsgYktSOplFJKKRUoUsJ6kjq1rZRSSimlCkVHJJVSSimlAqSE3WuDGOOX7w5XShWc/jIqpVTx4Zcu3+qatf1yrr9o986gdFF1RFIppZRSKkBK2oikXiOplFJKKaUKRUcklVJKKaUCpKQ9kFw7kkoVM8mXNwlovJg/NngWnEwNaHwAykZ4Lh87ENj4FaI8Fu+R8MDGByabox7LjtcfCWh8+yOvexYE+hhAtuPg+GhMQMPbbxnhGf+DlwIaH8B+20iP5WCfD8zO1QGNDyC1L/JYPt79ioDGLz/vd7+2X8L6kTq1rZRSSimlCkdHJJVSSimlAqSkTW3riKRSSimllCoUHZFUSimllAqQEjYgqR1JpZRSSqlAsZWwnqRObSullFJKqULREUmllFJKqQApYQOSOiKplFJKKaUKR0cklVJKKaUCpKQ9/kc7kkoppZRSASIlbC64hL0dpZRSSikVKDoiqZRSSikVIDq1rZQKuLBWbSj/+P+Bzc7pb7/i5IfTstUpdXVXyt11P2DI+GcTR0c+CUD08rVkbPsHAGfiPlKfeKDI81uydDmjX30Np9PJDX16M+zO2869zWW/MXr861abPRl2+y0e69PS0nhy1Eus37iZyIgIJox9kbhqVVn62x+8NnEy6enphIaGMvzh+7nyshYATJg0hW+++4GjR4/xV/zP55yju1vem0TzHl05lpzCS81bFWnbmeJ3pzD21404jKF/4ziGXlrPY/1n63czc90ubCKUCw3h+fZNqV+pAukOJ88tXseGA6k4nIZejaozzGvbnBT1cTh1+jQPP/Usu/cmYLfb6Ni2DU88eG/+98G2BMbO/8O1Dy5uwNDWzT33warNzFy5CZtNKBcayvPdr6R+dCRrElIY9d1yVyUD97e7iKsvqJXvuGfj72PsTytc8S+qz9CrmnnG/3MLM1dtcR2DsBCe73aFK/6+A4z67ncyE7i/7YVc3ahmgeMXh3NB/Iq/GT35fZwOJ/27dWbYgD4e61es3cDYyR+wefsuXhvxCF3bun4fEpJSePDF8TidTjIyHNzcuysDe1xb4Pj2Fq0oNewxsNlI/3E26V9+6LE+5OrulLrzQZwHUwBIn/MlGT/OBiDsjvuxt2ztKv9sOhlFfB44H2lHUqkiICJ9gFlAY+ADoBRQCSgDJFjV+hhjdha4cZuNCk8+y+EH7sKZnETFDz7nTPwiHDu2ZVWx16hF2duGcnjoYMyxo0jFSlnrzJkzHL75+kK+s7w5HA5eHPcK778zkdjYGPoPvo1O7dtSv17dc2vzP6/x/qTXXW3eehed2rWhft06WXW+/HYu4RUq8NM3XzBv/s+Mf+ttXh/7EhUjI3lnwn+IjY5my9btDHnwUeK//xaAju1aM3hAP7r0HXjO79vb8hmfsHjiVG7/cEqRtw3gcBpejl/PtJ6XE1uuNAO+XkbH2jHUr1Qhq06PBlUZ2NTVOVm4I4lXlm1iao/LmL8tkTSnk28HtOVUuoOen8fTvX5VqoeXzT2mn47DnbcMolXLFqSlp3P7vQ/xy9LltG99ZT72gZOXv/+NaYOvJTa8LAPem0fHhjWoHx15dh80q8PAFo1c+2DLbl75aQVTb7qGBjEV+XJID0JsNlKOnaTvu3Po0LAGIbb8X+HlcDp5ef4fTBvU2RX//e/p2CDOM37T2gy8tKEVfw+vLFjF1IGdaRAdyZd3dnPFP36SvtPm0aFBXIHiF4dzgcPh5MVJ7zF97LPERlXmhgf/j06tWlK/VlxWnarRUYx9/D6mfzXHY9voShX5bMLLhIWFcuLUaXre/Tgdr2xJbOVK3mFyZrNR6t7hnHr2QcyBZMpMmEHGb/GYPTs8qqUv+Zm0yeM9yuyXtcZWrxGnHrwFQkMpM+4dMlYuh1MnCr4jzkEJG5DUaySVKiKDgF+BQcaYK4wxFwPPAZ8bYy62XjsL03BI0+Zk7N2Nc99eyEjnzI/fU6pdJ486pfv059RXn2KOHQXAHD50Lu+lQNasW0+tGnHUiKtOWGgo3btcy4LFS86tzfUbPdu8tjMLfon3qLPwl3j69rgOgC6dO7D8j1UYY2hyQUNio6MBaFCvDmfOnCEtLQ2Ai5s3IyYq6pxyy8nW+GWcPHTYL20DrE0+Qs2IctQIL0uY3Ua3+lVZuDPZo075sNCsn09lOLJ+FoFT6RlkOJ2ccTgItblGy/Lij+NQpnRpWrV0jRCHhYbS5IJGJCWn5G8f7DtAzUrh1KhYgTC7nW5N67Bwyx7PfVAq7Ow+SMvI+qtdJjQkq9N2JsNRqD/ma/cdpGbFCmfjN6nNwn/25hw/PQPwFd+JUPAEisO5YM3mrdSsVoUaVWMJCw3hug5XsWD5Co86cVViaFS3FmLzfI9hoSGEWZ/RtPR0jNNZ4Pi2hk1w7tuLSdwHGRlkLPmJkFbt8rdtjTo41v0NTgecOY1z51ZCWvhn9uB8oiOSSp0jESkPtAE6AnOAUUXZvj06FmdSYtayMzmRkKYXetQJqVkbgMh3P0Zsdk68O4m033515RcWRsUPvoAMByc+nEbaLwuKMj2SklOoEhubtRwbG8OadeuLoM2Ys23GZG8zKTmFqladkJAQKpQvx+HUVCpFRmbVmb9gMU0uaERYWBj/dkknTlOlXOms5SrlSrMm+Ui2ep+u28UHq3eQ7jBM73U5ANfWrcLCncm0/2AhpzOcPNX6AiJL571P/H0cjh47xqL4pdw28IY8cwFIOnaSKuHlsparVCjLmn3ZO6GfrtzEB7+tJ93hZPotXbLKVyek8OycpexLPcF/ercp2GhgVvyzo7iu+Ad8xN/MB39sdMUffLVb/AM8O2+5K36vqwocvzicC5IOHqJqdOWs5SpRlVm96Z98b78/+QB3PzeO3fsSGX7XzQUbjQSkcgzmQFLWsjmQjK1R02z1Qlp3xN7sYkzCHs68OwFzIBnnjn8Iu2kI6bM+gVKlsV/YAufuHdm29Te9RlIp5a038IMxZouIHBSRFsaYVQHNwG4npEYtjtxzO7bYWCpO+ZBDg/pgjh/jYO+rcaYkY6sWR8W33+fI1i04Evbk3ea/3D/btjP+rbeZPmlCsFMJqJua1eKmZrWYu2UfU1ZtY2znC1mbnIpNYPGtnTh6Jp1bvvmdK+OiqJHH1HZRyOk4ZGRk8Ngzz3PLgP7UiKtepDFvankBN7W8gLnrtjMlfg1je7cB4KLq0cy5pw/bDhxhxOxfaVs/jlIh9iKN7YrfiJtaNmLu+h1MWbqOsT2vsuJHMWdYT7YdSGXEnGW0rVe96OMX83NB1ZgoZk8eT9LBQzzw/Kt0aduKqIqRRRoj4/d4Mhb/CBnphHTtS6nHRnF6xP04/vqdjIaNKTN+Gib1MI6Na6EQo6LnqoT1I3VqW6kiMAj4zPr5M2s5X0RkmIisFJGVU6dO9VnHkZKELbZK1rItpgrOFM8pTWdyEmeWLAJHBs59CTh278Jew3UjQWZd5769pP35ByGNGuf/neVDbEw0iUlnRwiSkpKzpjTPrc2z7zEpOZnYmOhsdfZbdTIyMjh2/AQVIyIASExK5oHhI/jPCyOpGRdHSRBbrjSJJ05nLSeeOE2M2wilt+saVGXBTtdxmffPPtrWiCbUbqNy2VJcUjWSdcmpecf043EYOfoVateI4/abBuSZR1asCmVJPHr2erbEYyeJqVAux/rXNa3Dgi27s5XXi4qkbGgo/yQX7FIEV/yTXvFz7oxf16Q2C7Zk76jVi4qgbFgI/6QcKVD84nAuiK1cif0pB7OWEw8cJDaqYKOKme00qF2Dles2FWg7czAZiTo7AyJRMZiDXqPSx45CRjoAGT9+i73+BVmr0j+fwakHb+H0sw+BCM6E7J8PVTDakVTqHIhIJaATME1EdgLDgRsln3MXxpipxpiWxpiWw4YN81knY8M6QmrUwlatOoSEUurabpyJX+RR58ziBYS2uMyVU0Qk9pq1cOzbg1QIh9DQrPLQCy8lw+3C/KLQvGkTdu7ew56EBNLS05k3/0c6dWh7bm02uYCde/ayJ2Gfq80fF9CpXRuPOp3atWHW3O8A19Rpq8taICIcPXaMYY8M5/EH7qHFxRf6av5fqVlMBLuOnGDv0ZOkOZx8v3U/HWvHeNTZeeRsJ+uXXcnUinB1cqpWKM1vCa4//ifTM1iddIS6FXPugGXy13GY8PZUjh8/zojHHy7YPqgWxa5DR9l7+BhpDgffr99Bx4aeHdSdh46e3Qf/7KVWpXAA9h4+RoY1+pRw5DjbD6ZSPbJ8AeNXZtfhY+w9ctwVf8NOOjbIJf7WBGpVdN0MtffI8bPxU4+z/eBRqkfkfQzcFYdzQfNG9diVsJ+9icmkpWfw3eJldGrVMl/bJqYc5PQZ1/XKqceOs2r9ZurEVStQfOeWjdiq10Biq0JICCHtrsHxu+c12VLx7NS7/Yq2OPfsdC3YbFDB9Xmw1a6PrXZ9HH/+TqDZRPzyChad2lbq3PQHPjLG3J1ZICK/AOfWk3LncHDs1dFEvvkuYrNxas4sHNu3Um7YA6RvXE9a/CLSfvuVsFZXUemzOeB0cPzN8ZjUVEKaX0z4/z2PMU5EbJz88F2POzyLQkhICM89NZy77nsIh9NJv949aVAvf4+WybXN4Y9y14OP4XA46NerBw3q1eWNye/SrPEFdG7flv69ezD8uZe4ps+NRISHM2HMCwB8/PnX7N6zl0nT3mfStPcBmD7xdSpXqsgrb0xi7vyfOHX6NO2u68MNvXvy4N1DznkfAAz5dDoNO7ShfFRlxu7ZyJxRY1g2/aMiaRsgxGbjmbZNGDp3BU5j6HtBHA0qVeCtP7bQNDqCTnVi+XTdLpbvPUiITYgoFcqYTq4O3KBmtXhm4Vp6fhaPwdC3URyNKofnHdMPxyE9PZ3J0z+gbu1a9L35DgBuvrEfN/Tplb990PUKhs78GafTSd+LG9AguiJvLf6LptUq06lhTT5dsYnlO/YRYrcRUboUY3q5HvXy555k3v18LSF2GzYRRnZrRcWyOY/o5hj/2ssY+tkCnE5D34vq0SA6krd+WU3TqpXo1LAGn67czPKdiYTYbESUDmOMNa39555k3l2+nhCbDZvAyC6XFzh+cTgXhNjtjLz/ToaMGI3T6aTftR1pULsGb37wOc0a1qPTlS1Zu3krD7w4nqPHTrDot1VM/PAL5r77X7btTuA/736IIBgMd/bvSaM6BXwEktPBmXfGU+alN12P//lpDs7dOwi7eRiOfzbi+D2e0F4DsF/RFhwOzPGjnJ7womtbewhlX3HN/JiTJzjz2ijXjTfqnIgxJtg5KPWvJSKLgP8YY35wK3sI12OAfgdaGmPy+7A2A5B8eZMizzM3MX9s8Cw4mfeUZ5ErG+G5fCz7DQx+VcHzTu57JO9OVlGbbI56LDtefySg8e2PvO5ZEOhjANmOg+OjMQENb79lhGf8D14KaHwA+20jPZaDfT4wO1cHND6A1L7IY/l49ysCGr/8vKxRSr8M8+2+sJFfOl4112wOyrCkjkgqdQ6MMR19lL3ptjgjcNkopZQq7kraXdt6jaRSSimllCoUHZFUSimllAqQEjYgqSOSSimllFKqcHREUimllFIqQEraiKR2JJVSSimlAsT7O8j/7XRqWymllFJKFYqOSCqllFJKBUhJm9rWEUmllFJKKVUoOiKplFJKKRUgwfxebH/QEUmllFJKKVUoOiKplFJKKRUgJWxAUjuSSimllFKBUtK+a1uMMcHOQSnlor+MSilVfPilx5dyRVO/nOujf18flB6qjkgqpZRSSgVICRuQ1JttlFJKKaVU4eiIpFJKKaVUgJS0ayS1I6lUMfOALSKg8SY6Uz0LTqb6ruhPZb3ec6Bz8I5/JCmw8QEiYz0W75HwgIafbI56FujnoFjsAz0fBCEH7/hFrIT1I3VqWymllFJKFY6OSCqllFJKBUhJm9rWEUmllFJKKVUoOiKplFJKKRUgUsKG8LQjqZRSSikVIDq1rZRSSimlFDoiqZRSSikVODYdkVRKKaWUUkpHJJVSSimlAkavkVRKKaWUUv82ItJVRDaLyFYReTqHOjeKyAYRWS8in+bVpo5IKqWUUkoFSLDu2hYROzAJuAbYC6wQkdnGmA1udRoA/we0NsYcFpGYvNrVjqRSSimlVKAE72aby4GtxpjtACLyGdAb2OBWZygwyRhzGMAYk5xXozq1rdS/QOMunRm5cSWjtvzFNU89mm19xZo1ePCn2fzf30t5eOFcIqtXy1rXe9wLjFiznBFrlnPpjdf7Jb8lS5fTpU9/rul1PVOnf+CXGMHIYcny3+lyw2Cu6TeIqR98nG19Wloajzwzimv6DeKGO+9m7779AKxZv4HeN99J75vvpNfgO/hp8RIAtu/anVXe++Y7ubRjV2bM/KJIcr3lvUm8krSNkWt/K5L2CiPYn4Ngxw9EDsX9XADBPw7Bjl+MVQf2uC3vtcrcNQQaishSEflNRLrm1ah2JJUq5sRm48aJr/H2df15uenltBjYjyqNG3nU6fvqy/zx0UzGXtya7196hV5jRgHQ9LprqXHJRYy7pA3jW3Wm8+MPUrpChSLNz+Fw8OK4V5g28Q3mff05c3+Yz9Zt24s0RjBycDgcvPjqBKa9/irzPvuQuT8uYOv2nR51vpw9j/AKFfjp65ncPvBGxk+aDECDenX5esZUvv14OtPeeJXnxo0nIyODurVq8u3H0/n24+n874N3KVO6NNd0aHdOeWZaPuMT3urqv85BXoL9OQh2/EDkUNzPBRD84xDs+Pki4peXiAwTkZVur2GFyC4EaAB0AAYB74pIZG4baEcyQESkj4gYEbnAray2iJwSkb+tC1sni/j+8iRrXWu35fYistyrToiIJIlINa9yEZEO1ivbmLqI3C4iKW55DPVRnvlq4iPvD0Uk1NomVETGicg/IvKniCwXkW7Wup0istatrTet8hkikiAipazlKKtuc7e6h0Rkh/Xzz1YO66z6HURkro/3tdi6qDizja/c1j0iIreKyG0iMtNruyjrfZcSkc+sa0ZyOq4DReQZt+WyInJQRMK96n0jIgNyaic3tS9vwYGt2zm4YyeO9HT+/Px/XNi7u0edqk0asXmha9Rry6IlNO99HQBVmlzA1vilOB0O0k6eJGHtehp3vbowaeRozbr11KoRR4246oSFhtK9y7UssEbgAsUfOazZsJFacdWpUb2aq81rOrNgya8edRYu+ZW+3V3/YO/SqT3LV/yJMYYypUsTEuK6cuhMWhpC9qms5StWUSOuGtWrVjmnPDNtjV/GyUOHi6Stwgj25yDY8QORQ3E/F0Dwj0Ow4weTMWaqMaal22uqV5UEoIbbcpxV5m4vMNsYk26M2QFswdWxzJF2JANnEPCr9X9324wxFwMXAk2APjls3wpwn7OKB+JEpJZb2dXAemPMvswCESkDzACaAs2AGVaZt8+tPDoAY0Qk1r3c7ZV5LUVm3s1xfRhvtMpfAqoCzYwxl1rvx/2fvR3d2nrIrdwB3OmekDFmbWZdYDYw3FouyNlvsFu8/tY+CbFifQrMAq4RkbJu2/QH5hhjzgDvAE/m0n434Ae3nE8C84G+mWUiEgG0AeYUIO8sEdWrcXjv2d/1w3sTiKhe1aNOwup1XHx9TwAu6tuTMuHhlKtUkYTV62jc5WpCy5ShXOVKNOzQloo1vGcyzk1ScgpVYmOzlmNjY0hKSSnSGMHIISn5AFViz15nHhsTna3NpJQDVI1x1QkJCaFC+XIcTk0FYPW6DXQfeCu9brqDF55+PKtjmWneTwvpcW3nc8qxOAn25yDY8QORQ3E/F0Dwj0Ow4+eH2MQvr3xYATQQkToiEgYMxPW31d03uPoBiEgUrqnuXId0tSMZACJSHldHYgiuA5eNMSYDWAbU97F9Y2CLMcbhVt8JfOHV3kDAY3TNGHMKuBdXx+kO4F6rzCfrwtptQK2c6njVdwB/ANWtzthQ4EGrE4YxJskYk5+LwF4HHrU6ef7WCfjTGJNhjDkK/AL0dFvvvh/jgat95WWN7l4M/Om1aiaex6UvMN/qZPrFrOHPUr9dG55aFU/99q05vDcBp8PJpp8WsuH7n3h86Y/c8el0diz/A6fDkXeD6pxd1KwJ8z77kK/en8KUDz7mzJkzWevS0tNZGL+Urp06BjFDVRLpueBfwE9T23mx+hkP4Brs2Ah8YYxZLyIvikgvq9p84KCIbAAW4RrAOZhbu9qRDIzewA/GmC24DlAL7wpWJ6wzsNbH9h6jXm6yOizWtPB1wNde7ZbBdbv/+9ZrUg4jkpn16wJ1ga1W0QCvqe0yXvVLA1dY+dUHdluds5wscmvL/Urx3bhGbG/JZdvC+MQt3qtWWWtglVsd9/1YDde/wBZCVod9K3CRj7YvAVYbY4xX+XzgUhGpbC1n6+BnErdrWqZO9Z6FcElN2EfFuLMjBxXjqpOasN+zzv5EpvW/mf+0aMucZ14C4JQ1MjZ/zHjGXdqWiV36ICIkb9lKUYqNiSYxKSlrOSkpmdjo6CKNEYwcYmOiSEw6e8NiUnJKtjZjo6PYn+yqk5GRwbHjJ6gYEeFRp16d2pQtU4Yt23dklS1Z9htNGzUgqnKlc8qxOAn25yDY8QORQ3E/F0Dwj0Ow4xd3xpjvjDENjTH1jDGjrbLnjDGzrZ+NMeYxY0wTY0xzY8xnebWpHcnAGARkHozP8JzericifwNLgXnGmO99bN8FHx1JY8xKoLyINMLV2fzdGHPIq84pXKOR66zXnTmMSA6w8pgJ3O3WjvfUdua2mXknAfuNMWty3QNnuU9tT/BaNxYYTtF+Lt2ntodbZVUB97mOeUBr67rGG4Gv3Ud/gWTA47pTS1cg2/EyxqThmi7ob00NXIKrc5mN+zUtw4b5vi5614o/iW5Qj8q1a2EPDeXSAdezZvZ3HnXKVa6U9WyyLv/3GL+977rDWGw2ylWqCEC15k2pdmFTNv240GecwmretAk7d+9hT0ICaenpzJv/I506tC3SGMHIoXnjC9i5Zy979u1ztfnTAjq1a+1Rp1Pb1sya5/rVnL/wF1q1vBQRYc++fWRkZACQsD+R7bt2e1wLOe/HBXS/tuivTwumYH8Ogh0/EDkU93MBBP84BDt+fgRxatsv9DmSfiYilXBNpTYXEQPYASMimZ2azGsNc9q+LBDpft2jl8zRtMbkMOpljZgtziPVz40xD+RRx902Y8zFVkdpqTUs/jNQU0TC8xiV9MkY84/VOb0xr7rn6BRQ2i3uKRH5AdcU9EDgMa/6pa1tvF0L9MshxkxgJCDAt8aY9MIm63Q4+OLBJ7j/h/8hdju/vf8xiRs20f2FEexe+Rdr53xPgw5tXXdnGsPW+GV8cf/jANhDQ3lkiaujc/roMT64ZViRT2eFhITw3FPDueu+h3A4nfTr3ZMG9eoVaYxg5BASEsJzTzzCXQ894Wqz53U0qFuHN6a8R7PGjejcrg39e3Vn+POjuabfICLCKzDh5ecBWPX3Wt798BNCQkKw2YTnn3yMSpGRAJw8dYplf6zkxf974hzftachn06nYYc2lI+qzNg9G5kzagzLpn9UpDFyE+zPQbDjByKH4n4ugOAfh2DHPx9J9lk5VZTEdft9C2PM3W5lv+DqZOwG5hpjmuWyfXegrTEmp68yaoxr9CsCqGOMOVGIHG8HWnp3JHMpr+2et4j0BZ40xlwpIq8A0bhGNdNEJBroYIz5UkR2Wu0d8GpvhtXeVyLSFNcIIcaY2r7qeOcgIh2AJ4wxPbzaXWyVr/QqvweIM8Y861bWDRgHhAN13aerRWQtcI0xJtGtLALXCHIbH7sUcd19vxs4DDxkjFnkq54XA/CALSKvekVqojPVs+Bkqu+K/lTW6z0HOgfv+EeSfNfzp8hYj8V7PG/897vJ3v/2089BsdgHej4IQg5n4/tlmO949yv80vEqP+/3oAxL6tS2/w3CdWewu6/Jfvd2TnK6PhIAY8xG4ASwsDCdyHzwvkbyKh91vgHKikhb4Flc08YbrMfzzAXc/0K5XyP5oXdDxpj1ZL95JT86i8het9eVVrn7NZI/W2XfA94P7/sJ1/T1516dyFjglHsn0nINrhFYn6xrK78CKuO6mUcppZRyfbONP15BoiOSxZyI/AlccS5Toyo7EZmFaxT1nzzqPQocNca851U+DZhmjCnKrxHREclg5aAjkjoiWRzi+8hBzwdByMHfI5I9W/lnRHLOb0HpTeo1ksWc9SxGVfSexnXTTa4dSeAIkO1CM2PMXX7ISSmlVAkn+XhUz7+JdiTVeckYsxnYnI967wcgHaWUUupfSTuSSimllFKBEsTrGf1Bb7ZRSimllFKFoiOSSimllFKBotdIKqWUUkqpwpASNhdcwt6OUkoppZQKFB2RVEoppZQKlBI2ta0jkkoppZRSqlB0RFIppZRSKkCkhD3+RzuSSimllFKBolPbSimllFJKgRjjl+8OV0oVnP4yKqVU8eGXocNTg9r75VxfZuYvQRnq1BFJpZRSSilVKHqNpFJKKaVUgEgJu0ZSO5JKKaWUUoGid20rpfzqZGpg45WNCG784pBDsOMXhxy84t8j4YGND0w2Rz0L9HOg+yAYOXjHV7nSjqRSSimlVKCUsKltvdlGKaWUUkoVio5IKqWUUkoFSEm72UZHJJVSSimlVKHoiKRSSimlVKDoXdtKKaWUUqowdGpbKaWUUkopdERSKaWUUipwStjUto5IKqWUUkqpQtERSaWUUkqpQClh10hqR1IppZRSKkBEp7aVUkoppZTSjqRSJcKSpcvp0qc/1/S6nqnTPzjv4heHHIIdP9g53PLeJF5J2sbItb8FNK678/0YFIf4xSGHYMfPk4h/XkGSZ0dSRBwi8reIrBORL0WkrFd55utpq3yxiGwWkdUiskJELnZrq5uIrBSRDSLyl4i8ZpU/LyIJXu1FikgHETEi0tOtjblW+Syr3lYRSXXb7iorh5ZW/Z0iEuX1nm4XkRSveE2sdVVFZK5X/det/Gw5tLFBRIZa5T1E5MVc9meoiPzpo3yniKwVkTUi8ouI1HJbd9xH/hN9tCEiUltEbs8hdge3fbVRREb5KM98XW2tcz/+c0Qk0q29J0Rkk7V+hYjcapVnfgYy2/rKKn9eRE6KSIz7exORym51E70+C2GZ7996b+t8vK8ZIrLDbZtlbuv6iMhzItJeRJZ7bRciIkkiUk1ExotIJ1/7zarbSkTezWHdIyJyWkQi8trX/uBwOHhx3CtMm/gG877+nLk/zGfrtu3+Clfs4heHHIIdvzjksHzGJ7zV9fqAxfMW7PdfHHIIdvzikEOw45+P8jMiecoYc7ExphmQBtzjVZ75Gue2zWBjzEXA28CrACLSDJgI3GyMaQK0BLa6bTPBq70jVvle4BnvpIwxfY0xFwN3AfFu2y3zrpuDz73ibbDKHwOyOgxW57EvsAdo76sNoAMwRkRigXlAT7E63D60AZbmsK6jMeZCYDHwbD7fh7vJVvs1ReQ9Eanuo068lXNL4GYRudS93O31s1XufvwPAfcDiMg9wDXA5VZ7nQH3fxINdmurv1v5AeBx94SMMQcz61rvwf2zkJbP9z7cbZur3MqfxPU5jAfi3DvowNXAemPMPuAt4Olc2u8G/JDDukHACsD7r2hO+7pIrVm3nlo14qgRV52w0FC6d7mWBYuX+CNUsYxfHHIIdvzikMPW+GWcPHQ4YPG8Bfv9F4ccgh2/OOQQ7Pj5YhP/vIL1dgpYPx6oX4D6y4HMzsyTwGhjzCYAY4zDGPNOPtpYDaSKyDUFyrTw+uHZYegArAfewdVhyMYYkwxsA2oZYwyujmCPHNrvCnyfRw7u+60g7rNyvBP4P2NMQk4VjTEngFUU/niOAO41xhy12jtqjMnPHMJ0YICIVCpA3EIRkYbAGWPMAWOME/gCGOhWZSAwE8AYswuoLCJVcmiuM/Czd6GI1APK4+r45/T5KMy+zrek5BSqxMZmLcfGxpCUkuKPUMUyfnHIIdjxi0sOwVQc3n+wcwh2/OKQQ7Dj54eI+OUVLPnuSIpICK5RmbVWURmvqdABPjbrCnxj/dwM1x/TnDzq1tYir3WjKdwIXW4GeOVfRkTqAIeNMWfc6g3C1dmYBXQXkVDvhkSkLlCXsyOsK4G2OcTtiKujmRv3/QZe+xrIaep8opXrdGC0iFTLKYCIVAZa4eokA7T12h/1vOrbcXWmZotIOFDBGJPbfMEnbm296lZ+3Mrv4Vy2LYxX3eJ9YpW1BtwvI5iJ1ZEUkVLAdcDXbuv/tLbxIK5LI9KNMak+4g4EPsP1j6xG1qi09/be+1oppZQqEfLz+J8yVucFXH8s37N+PmVN2/nyiYiE4RqpyamOtwnGmPG+Vhhjllg97jb5bCs/PjfGPOBeICJVgRS35TBcnY3HjDHHROR3oAuQeQ3lACunM8DdxphDVnkykK0TZ001HzLGnMwhp0XWSN1xYKRbuce+Ftc1kC19bH8fUAsIMcbk1NlsKyJ/AU5gnDFmvYh0wDUN62sUNfP4Vwc2Aj8B5XJo291gY8zKHNa9CfwtIj6PdyENN8Z85VXmcTyNMStFpLyINAIaA7+7HTPI4bgB1wI/5hB3ENDXGOMUka+BG3B16MHHvvbeWESGAcMApkyZwrBhw/J6n9nExkSTmJSUtZyUlExsdHSB2ymsYMcvDjkEO35xySGYisP7D3YOwY5fHHIIdvx8OQ8f/+N+LeSD+bxmbTCuEboPcF17Bq7RmBaFzBP8Myrp7RRQ2m25CxAJrBWRnbiuP3Sfvsy8zvIKY8wst/LSVlveugLzc4nfEVdH8G/ghYImb1x2GmNm5FIt3hhziTGmhTFmcj6azezE1sJ1DeT91nT2cWsktsCs618/xbre0o+8jyecHZXMmtZ2k9Nx83l9pIg0BxoAP1mfj4F4fj7y3NfGmKnGmJbGmJaF6UQCNG/ahJ2797AnIYG09HTmzf+RTh1yGhAvesGOXxxyCHb84pJDMBWH9x/sHIIdvzjkEOz45yO/PZDcGGNEZCSwTUQuwHXTzf9E5FdjzBbrJpZh+ezMYIz5UURewjXK5C9bgNpuy4OAu4wxMwFEpBywI5cbaTI1BLLdXYyrIznSR3kWY0yGiDyCq/P6steIWdAYY06KyEPANyLyNjAWmCQiA4wxR0WkPHC9MebDfDb5X1w3qPjzofgbgZu9ymYCs4EIYIjXuobAl+4F4rrw5EJcnXtvg4DnjTFj3erv8Lqhx+9CQkJ47qnh3HXfQzicTvr17kmDevXy3rCExC8OOQQ7fnHIYcin02nYoQ3loyozds9G5owaw7LpHwUsfrDff3HIIdjxi0MOwY6fL/rNNlncp7wBfjDGeNz1aow5Ja5H/Aw3xgyxOkgzrY6Y4ewUMbiukXT/o9/HR8zRwLeFyHWNiDitn78A1nB2WjrTfcaYZSKyTUTqA/twdfwy71LHGHNCRH4FepK7jsD/uRdY1xjWz7zZKDfGmP0iMhPXiN1LedUvIm29jufL3lPFxpi/RGQNrg7UO7guXVghIulAOvCaW/VPRCRzdO+AMeZqr7YOiMgs4NEC5tlIRPa6LWdu/6qIuI9YXw4sAV4TEbFugsIYs1FETgCrrJtgANdjmXDdDOM9Hd8C+Ctzey8DcV364G6WVf57Ad/XOWnftjXt22a7vPO8iV8ccgh2/GDn8N5NdwYlrrvz/RgUh/jFIYdgxz/fiO+/j+cvEekLtDDGFGoa3brZ4lNjTGev8ja4Hn10j+8tlT+IyBvAHLfHGeVUry9wqTFmpFf5s8BWY8xnfkwzk+uX8aSve3r8qGyE53Kg4xeHHIIdvzjk4BX/HgkPbHxgsushEGfp50D3QTByOBvfL0OHGQ/18kvHK+TN2UEZ6tTv2vZijJll3WVbWDXxek6i1e6vwK/n0K4qnDHAFfmoF4LniCoAxpiXizwjpZRS5y+d2i75jDHTzmHbFUWZizo3xpgkXNdE5lXvy7zqKKWUUsqTdiSVUkoppQLFVtDvgineSta7UUoppZRSAaMjkkoppZRSgaLXSCqllFJKqUIpYR1JndpWSimllFKFoiOSSimllFKBoiOSSimllFJK6YikUkoppVTglLDH/2hHUimllFIqUHRqWymllFJKKR2RVKr4KRtxfscvDjkEO34xyGGyORrU+EDQ90HQ4xeHHIIdv7jkUJR0RFIppZRSSikdkVRKKaWUCpwSNiKpHUmllFJKqUDRu7aVUv6U2u7CgMaLWLLGs+BkakDjA9mvgQp0Dl7xMx7vF9j4QMhrX3ssO956PKDx7Q++5llQDD4H90h4QMN7Xxc6IjQyoPEBxqQf8VjW8wE4PhoT0PD2W0YENN6/nXYklVJKKaUCpYRNbZes8VWllFJKKRUwOiKplFJKKRUoOiKplFJKKaWUjkgqpZRSSgVOCRuR1I6kUkoppVSASAl7/E/JejdKKaWUUipgdERSKaWUUipQStjUto5IKqWUUkqpQtERSaWUUkqpQClhI5LakVRKKaWUCpQS1pHUqW2llFJKKVUoOiKp1L9AyOWtKf3QU2CzkT7vf5z5ZHq2OqEdr6XUHfeCMTi2buHUS09jq9+IMo89i5QrB04nZz56l/SF84s8vyVLlzP61ddwOp3c0Kc3w+68rchjBDsHaXQxtj53gs2G8/cFmIWzfNdr3gr77cPJmPAk7N2GXNoWW4feZytUrYVjwnDYt7PAOcTvSmZs/HocxtC/SU2Gtqjvsf6zdbuYuWYnNptQLtTO8x0vpH6lCqQ7nDy3cA0bUlJxGEOvRnEMa1k/hyiFF+zPwS3vTaJ5j64cS07hpeat/BKjwbWd6fHfcdjsdlZM/5Alr77usT6yZg36vTuRstFRnDp0mC9uG8bRhH0ARNSI4/opbxIRVx2MYUavGzmya3eB4hf3cwH4/3MQvy2BsfP/cP0eXNyAoa2be6z/bNVmZq7cZP0ehPJ89yupHx3JmoQURn233FXJwP3tLuLqC2oVaW75UsIe/6MdSZVvItIHmAU0NsZssspqAxuBzUAYsAS4zxjj9LH9ZOAjY8xSH+v+BjYZYwaKyB3Aw9aqJlbbDuAHY8zTbtuIMcaIyPPGmOczl320/QgwDog1xqRaZR2Ab4EdQCngM2PMCzm87++BocaYvW5lM4D2QCogwGPGmAXWusXAE8aYlW77aK4xppmv9vNks1H60RGceGwYJiWJ8lNnkv7rYpy7tp+tEleTUoOHcPy+W+H4MSSykmvF6dOcGvMMzr27kcrRlJ/2Gel/LIPjxwqVii8Oh4MXx73C++9MJDY2hv6Db6NT+7bUr1e3yGIEPQexYbt+KI4pL0LqQeyP/AfH+hWQtNezXqnS2Np2x+zaklVk/ozH8We8a6FKTex3PFWoTqTDaXj5l3VM630FseXLMOCLeDrWiaV+pQpZdXo0rMbAZq4/jAt3JPLKrxuY2usK5m/dT5rTybc3tedUuoOeny6me8NqVA8vW+A8csyvGHwOls/4hMUTp3L7h1P80r7YbPR6czzTu/Xh6N593PfbIjbN/Z7kjZuz6nT7z0v8+fFn/PXRTOp2aEeX0aP48va7Abjh/cksHjuerQsWE1auHMaZ7TSZu2J+LgD/fw4cTicvf/8b0wZfS2x4WQa8N4+ODWtQPzoyq06PZnUY2KIRAAu37OaVn1Yw9aZraBBTkS+H9CDEZiPl2En6vjuHDg1rEFLCOnaBpntPFcQg4Ffr/+62GWMuBi7E1fHrk8P2rYDfvAtFpDFgB9qKSDljzPvGmIutNvcBHa3lp702HS0ivYHKIvImcFEuea8Arvcqj7ditARuFpFLfeRWBqjs3ol0M9za/hFgcg6xz5m9cTOcCbsx+xMgI4P0BT8Q2qajR52wHv04M+vzrD8K5sghAJx7d+Hc6xrxMAdTMIcPYYusWKT5rVm3nlo14qgRV52w0FC6d7mWBYuXFGmMoOdQsz7mYCIcSgJHBs6/fkWaXpatmq3rIJyLZkF6ms9mbJe0wfyd7d9R+bI26Qg1I8pRI6IcYXYb3RpUZ+H2JI865cNCs34+le7I+lkETqVnkOF0cibDQajNRrmwoh1HKA6fg63xyzh56LDf2o+7vAUHt23n8I5dONLTWfP51zTueZ1HnZjGjdi+yPW+ty9eQuOe3bLKbSF2ti5YDEDaiROknzpVoPjF/VwA/v8crN13gJqVwqlRsQJhdjvdmtZh4ZY9HnXKlwrL+vlUWkbWNYllQkOyOo1nMhzBu1RRxD+vINGOpMoXESkPtAGGAAN91THGZADLgGxzZlZncYsxxpFtQ1dH7yPgR6C3j/U+GWNGAF2Bm4FJxpi/fcStB5QHniV7BziznRPAKl95Ax2AxXmkshyons+0C0yiYjHJZzsMzpQkJDrGo46tRi3sNWpRbtIHlHvnY0Iub52tHXvjZhAaijNhT7Z15yIpOYUqsbFZy7GxMSSlpBRpjGDnIBGV4MiBswWph5CIyp6VqteByCjMxj9zbufi1jj/ii9UDkknTlGlQums5SrlS5N8IntH5NM1O+ny4UJeW7aREe2aAnBtvaqUCQ2h/fSf6fzBAu64pC6RpcOybXsuisPnwN8iqlUldW9C1nJqwj7Cq1f1qJO4Zh1N+/YEoGmfnpQOD6dMpYpUblCf00dSGfzFRzywYgldx71Y4G84Ke7nAvD/5yDp2EmqhJfLWq5SoSzJx05kq/fpyk10mfg1ry1YxYgul2eVr05Ioefkb+g9dTajurUKzmikdiTVeao3rqnlLcBBEWnhXUFEygKdgbU+tu8G/JBD2wOAz4CZ5NDZ80VEXrba/Bi4X0R8jUgOtNqOBxqJSKx3BRGpjGu0dH0B887UFfjGq+wTEfnbmrL/Lo/tz53dji2uJiceGsLJF5+izJOjoPzZKU+pHEWZZ8ZwauxzkH32X50rEey9bsc5e0bOdWo2gPQzkFj0f7zd3XRhbebf2onHrmzMlBVbAVibfASbwOI7rubHWzsx4+/t7EnN/sdXnbvvnhpJnbateWDFEuq0a03q3gSMw4k9xE7tNlfy3VPP8narjlSqU5tLbxtc9AnouQCAm1pewPwH+vFY5xZMiV+TVX5R9Wjm3NOHL4Z0591lazmT4WtsQxWEdiRVfg3C1SHD+r97h6+e1WFaCswzxnzvY/su+OiQiUhL4IAxZjewALhERCrlM6eRxphvgYPGmIeANT7qDMJ1/aMT+Bq4wW1dWxH5C9dI6DhjjK+OZGtc0/m+vCoiW4BPgf94rRvsNj1/XbYtLSIyTERWisjKqVOn+qxjDiQhMWf7v7boWExKskcdZ0oS6UsXgyMDsz8B555d2ONqulaWLUe5/0zi9Ltv4djgaxedm9iYaBKTzo6SJCUlExsdXeRxgpmDST0EkVFnCyIqYVIPnl0uVQaq1sR+34vYn3kHajXEfufTEFcvq4rt4tY4/8rpo5S32HJlSDx2Oms58fhpYsqVybH+dQ2rsWBHIgDztiTQtmYMoXYblcuW4pKqlViXnFroXHzmVww+B/6Wum+/60YZS0T1ahxN2O9R59j+RD658RYmXtaOH0e+BMDp1FRSE/axf/U6Du/YhdPhYMPseVS/5MICxS/u5wLw/+cgtkJZEo+e/UdQ4rGTxFQol2P965rWYcGW7Dc01YuKpGxoKP8k++9SiBwFcURSRLqKyGYR2Soi3peLudfrJyLG+hudK+1IqjxZHbtOwDQR2QkMB24UyfrkbrM6TZcYY573sX1ZINIYs89H84OAC6x2twHhQL/85JV5Y01mTO8bbUSkOdAA+MlqfyCeHeB4K+cWxphs1ziKSF1gjzHG9wVvrmskGwJPAdlvnczfe5hqjGlpjGk5bNgwn3Ucm9Zjj6uFVK0OISGEdu7q+kPhJiN+ESGXuK7Zk4hIbDVq4dy3F0JCKDf6ddLmzyHjl58Kk2Kemjdtws7de9iTkEBaejrz5v9Ipw5t/RIraDns2YpEVYVKMWAPcV3ruH7l2fWnT+J47g4co+/FMfpe2LUFx/RxsHeba70IcvFVmL8Kd30kQLPYCHalnmDv0ZOkOZx8/08CHet4DrDvPHI86+dfdiZTK8L1B7Zq+TL8ttc1NX8yPYPViYepW7F8oXPxpTh8DvwtYcWfRNWvR8XatbCHhnLhgH5snOv57+aylSuReWps/9SjrJrxCQB7V/xJ6cgIykW5Lomo17Gdx006+VHczwXg/89Bs2pR7Dp0lL2Hj5HmcPD9+h10bBjnUWfnoaNZP//yz15qVQoHYO/hY2RYNzglHDnO9oOpVI8s2t+D4kxE7MAkXDNtTYBBItLER70KuG54/T0/7epd2yo/+uO62/ruzAIR+QVoC+Tn2RUdgUXehSJiA24Emmd2MkWkIzASeLcI8h4EPG+MGesWc4eI5Pd5D/mZ1gaYCNwpIl2MMUX/PA2Hg1Ovj6Hc+HfAZif9u29w7txGqTvvw7F5AxlLF5Pxx1JCLruS8h/OAqeT02//F3M0ldBrumO/6FIkPIKwrr0AODl2JM6tBfsDlpuQkBCee2o4d933EA6nk369e9KgXr28NyxCfs/B6cT5v2nYh40EseH8YyEk7cHWZSBm71bPTqUPUrcJHDnoulmnkEJsNp5p15Sh3/6O0xj6NqlBg8oVeOv3zTSNiaBTnSp8umYny/ceIMRmI6JUKGOuvhiAQc1r88yC1fT8dDHGQN/GNWgUFV7oXHzmVww+B0M+nU7DDm0oH1WZsXs2MmfUGJZN/6jI2nc6HMx+eDh3zPsasdtZNeNjkjds4upRI9i76i82zf2euu3bcO3Lo8AYdvy6jNkPPgGAcTr5/slnufPH2YhAwp+rWTHtg4IlUMzPBeD/z0GIzcYzXa9g6MyfcTqd9L24AQ2iK/LW4r9oWq0ynRrW5NMVm1i+Yx8hdhsRpUsxppfrOtE/9yTz7udrCbHbsIkwslsrKpYtnUdEPwjeXeKXA1uNMdsBROQzXJetbfCq9xKuWbbh+WlUfDwtRSkPIrII+I8x5ge3soeAxrg+bLk+2kZEJgJfGWMWe5W3t9pt5VZmBxKAS4wx+62RxJbGmAMUkIhsB67LfFSRVfZfIAnXv7SeMMb0yGX7OcCDxpidPtbNwPW+v7KW++F67FHnc3j8jwFIbVew6a5zFbHEa4rrZNFOeeZL2Yjg5uAVP+PxfA2KF6mQ1772WHa89XhA49sffM2zoBh8Du6Rou3s5mWyOeqxPCI0MqDxAcakH/FY1vMBOD4aE9Dw9ltGZP7olztYHK/c55eOl/3Jt3PNV0T6A12NMXdZy7cAVxhjHnCrcynwjDGmn/ffspzoiKTKkzGmo4+yN90W8+ogXQU86qONX3Dd5OJe5gCquC3XLkiuXm1le3CZMeYxt8XFOW0rIqWAqr46kVY7t3stf43rGkyMMR281u0k732klFLqfOCnO6xFZBjgfo3UVGOM74vvfW9vA/4L3F6QuNqRVH5njMn2fMbizhhzBtfzJZVSSqmi46eOpNVpzK3jmADUcFuOs8oyVcA16LHYus63CjBbRHrlNiqpN9sopZRSSpV8K4AGIlJHRMJw3YA6O3OlMSbVGBNljKltzQb+BuTaiQQdkVRKKaWUCpwg3WxjjMkQkQeA+bi+TW66MWa9iLwIrDTGzM69Bd+0I6mUUkopdR4wxnyH15dkGGOey6Fuh/y0qR1JpZRSSqlACeLXGfqDdiSVUkoppQKlhHUk9WYbpZRSSilVKDoiqZRSSikVKDoiqZRSSimllI5IKqWUUkoFTvC+a9svtCOplFJKKRUoOrWtlFJKKaWUjkgqpZRSSgVOCRuRFGNMsHNQSrnoL6NSShUffunxOSYN98u53n7/q0HpoeqIpFJKKaVUoEjJuqqwZL0bpZRSSikVMDoiqZRSSikVKLaSdY2kdiSVKmb2t2wc0HhVV270LDiZGtD4AJSN8Fw+fiiw8ctX8lh0jH8gsPEB+xMTPXP4ZGxg4w/+P8+CYvA5GBEaGdDwY9KPeCzfI+EBjQ8w2Rz1WN7XIrDng2qrvM4HhxMDGh+AilU8Fh0fvBTQ8PbbRvo3gE5tK6WUUkoppSOSSimllFKBU8Ie/6MjkkoppZRSqlB0RFIppZRSKlD0u7aVUkoppVSh6NS2UkoppZRSOiKplFJKKRU4+vgfpZRSSimldERSKaWUUipwStg1ktqRVEoppZQKlBJ213bJejdKKaWUUipgdERSKaWUUipQdGpbKRVopa5sQ/gTI8Bm4+Q3X3Hig2nZ6pS+uivlh90PBjL+2cSRZ4cDYIutSuTIl7DHVsEYw+GH78axf1+R5rdk6XJGv/oaTqeTG/r0ZtidtxVNu8uWM3r86zgdDm7o04thd9zqsT4tLY0nn3uR9Rs3ERkRwYRxLxNXrSqHj6Ty0JMjWLdhI317XsdzTz2Rtc2QBx4h5cBBHA4HLS65iFFPPYG9oInVboytU38QG2btMswfP/mu1+Bi7L3vwvHRK5C0u6BRsonfupex8//A4TT0v6QBQ9tc6LH+s5WbmLlyEzYRyoWF8nyPq6gfHcmybfv478JVpDschNrtPHF1S1rVqXrO+Xjz1+cgU4NrO9Pjv+Ow2e2smP4hS1593WN9ZM0a9Ht3ImWjozh16DBf3DaMowmuz3pEjTiun/ImEXHVwRhm9LqRI7vO/Zi4u+W9STTv0ZVjySm81LxVkbadqdSVbYh4YgTYXeeC4zN8nAuu6UoF61yQ/s8mjjzjOhfYq1QlwjoXYAyHHsr/uWDJ8t8ZPeEt17Ht1Z1htw72WJ+WlsaTL4xh/eYtRIaHM+HlUcRVO/sZ25eYRPdBt/HAXbczZPBA9icl8+QLozl46DAiwo19enLbgP75yiV+2z7G/rQChzH0v6g+Q69q5rH+sz+3MHPVFuv3IITnu11B/ehI1uw7wKjvfrdqGe5veyFXN6qZr5gqZ9qRVCWaiPQBZgGNjTGbROR3oBRQCSgDJFhV+xhjdlrbiDHGiMjzxpjnM5e92p0BtAdSAQEeM8YssNYtBp4wxqy0lmsDc40xnme7/LLZCH9qJIfuH4IjKYmoD7/gzJJFZOzYllXFXqMW5e8YysEhgzHHjmKrWClrXeSL4zg+fQppvy9DypTFOJ2FSiMnDoeDF8e9wvvvTCQ2Nob+g2+jU/u21K9XtwjafY33337D1e4td7rarVsnq86X38whPLwCP337FfPm/8T4Nyfx+riXKVUqjIfvHcY/27bxz7btHu2+MW405cuXwxjDQ0+O4IefF9K934D8JyaC7eobcX45EY4dwXbzcMy2tXAw0bNeaClsl3bA7NtxLrshi8Pp5OXvf2fazdcSG16WAdPm0rFRTepHR2bV6dG8LgNbXgDAws27eeXHP5g6+Foiy5bi7YGdialQln+SDzP0k59Y/OiNRZJXVn5++hxkEpuNXm+OZ3q3Phzdu4/7flvEprnfk7xxc1adbv95iT8//oy/PppJ3Q7t6DJ6FF/efjcAN7w/mcVjx7N1wWLCypUr8t8DgOUzPmHxxKnc/uGUIm8bAJuNiKdHcvA+17kg+qMvOP1L9nNBhduHcuBOH+eCF1zngjPWuQCTv33gcDh4cfzrvP/ma8TGRNP/jrvp1LY19evUzqrz5ex5rt/Frz5l3k8LGD9pCq+Pfj5r/bg3JtH2ysvP5mm38/RD99P0goYcP3GSfrcPpfXlLT3a9JmL08nL8/9g2qDOrt+D97+nY4M4z9+DprUZeGlDABZu2cMrC1YxdWBnGkRH8uWd3Qix2Ug5fpK+0+bRoUEcIYG+ZlEf/6PUv8og4Ffr/xhjrjDGXAw8B3xujLnYeu102+ZiEXkTqGR1REfn0PZwq61HgMl+yR4IbXohjj27cSTshYx0Tv34HaXad/KoU7bvDZz4Yibm2FEAnIcPARBSpx5it5P2+zIAzKmTcOZ0kea3Zt16atWIo0ZcdcJCQ+ne5VoWLF5y7u2u3+DZ7rVXZ2t34S/x9O1xHQBdOndk+R8rMcZQtkwZWl5yEaXCSmVrt3z5cgBkZDhIT09HCjrNVKU2HD4AqQfB6cBs+hOpd2G2atKmB84VP4Ejo2Dt52BtwgFqVqxAjYoVCLPb6da0Dgs3e46olS8VlvXzqfQMXP/GgSZVKxNToSwA9aMjOZ2eQVqGo0jyyuSvz0GmuMtbcHDbdg7v2IUjPZ01n39N457XedSJadyI7YtcMbcvXkLjnt2yym0hdrYuWAxA2okTpJ86VWS5Zdoav4yThw4XebuZQpteSIbXuaB0B89zQbm+N3DiS9/nAkLsnHE7F5jT+TsXrNmwkVpx1alRvZrr2F7TiQVLfvWoszB+KX2v6wJAl47tWb7yTzL//f3zL/FUr1aVBnXO/iMwJqoyTS9wdfbKlytL3dq1SEpOyTOXtfsOev4eNKnNwn/2etTJ6fegTGhIVqfxTIYToWRNMQeLdiRViSUi5YE2wBBgYH63M8b8BbwN3AJ0McaMyGOT5UD1wuaZF3tMDI6ks6NdzuQk7DGxHnVCatYipFZtKr/3CZXf/4xSV7ZxbVuzNs5jx6j4yptEffI1FR56osjvGExKTqFK7Nl8YmNjSErJ+w9C/tqNybXdpJQUqlqxQ0JCqFC+PIePpObZ9pD7H+Gqa66jXNmydOncsWCJVYjAHHPrLBw/DBUiPOvExCEVKsL29QVrOxdJx05SJaJc1nKV8HIkHzuZrd6nKzbS5a2vee3nlYzoekW29T9u3EWTqpUJCynwhH7u+fnpc5ApolpVUvcmZC2nJuwjvLrn9HzimnU07dsTgKZ9elI6PJwylSpSuUF9Th9JZfAXH/HAiiV0Hfci8i+8c9b7XOBISsIe7XkusNeqRUjN2kS99wlRM86eC0Jq1cYcO0bFV98k+pOvCX84/+eCpJQDVIlx+12MiSYp5UC2OlWt31fX72I5DqemcuLkSd796FMeGJLzZQ579+1n45Z/uKhZk7xzOXaSKuFls5arVCjr+/dg5Wa6vP0Nry38ixHXtswqX51wgJ5T59D73bmM6nZ54EcjAWzin1eQ/Pt+k5TKv97AD8aYLcBBEWmRn41E5GLgXuAjYL6IvJzHJl2Bb7zKPhGRv0Xkb+C7giRdKPYQQmrU4uCw2zjyzONEPPMiUr4CEmIn7JIWHH3jFQ7ceiP2uBqU6dnX7+kUd+9Nep1f588hLT2d31asKuLWBVvHfjgX/6+I282fmy5rzPwH+/FY55ZMiV/tse6f5MP8d8Eqnu9+ZVBy87fvnhpJnbateWDFEuq0a03q3gSMw4k9xE7tNlfy3VPP8narjlSqU5tLbxucd4P/QmIPwV6zFgfuvo3DIx4n8lnXuQC7dS54/RVSbr0Re/UalA3AuWDitBncNvAGypUt63P9iZMneej/nmPEIw9Svlw5n3UK46aWjZh/Xx8e63QJU5auyyq/qHoUc4b15Is7uvHusvWcKeKR+XwRm39eQaIdSVWSDQI+s37+zFrOj9XGmIeBQ8aYb4CROdR7VUS2AJ8C//FaNzhz2hy4LtuWFhEZJiIrRWTl1KlTfdZxJCe7Lo632GJicSQnedVJ5PSSheDIwLEvgYzdOwmpWQtHUhLpmze5psIcDs4sXkBoo7z/1V8QsTHRJCadzScpKZnY6Ogiajc513Zjo6PZb8XOyMjg2PHjVIz0Gh3MQalSpejcvi0Lfing9OuxVNdoY6byFeGY2yhoWCmoXBXbgIexDX0BqtbG1vduiD23i/pjK5QlMfVE1nLi0RNZ09W+XNesDgvcpr4Tj57goS8WMbZ3G2pWCj+nXHzm56fPQabUfftdN8pYIqpX42jCfo86x/Yn8smNtzDxsnb8OPIlAE6nppKasI/9q9dxeMcunA4HG2bPo/ol2S9HKO68zwX22FgcKV7ngqRETv+yEDJyPxecXryA0Avydy6IjY4iMdntdzE5hdjoqGx19lu/r67fxRNUjIhg9foNjJ84hU59BvDB518x5YOP+fhL1z+y0jMyeOj/nqNnl6u5tmO7/OVSoSyJR8+OQCYeO5n770GT2izYsidbeb2oCMqGhfBPypF8xVU5046kKpFEpBLQCZgmIjuB4cCNko8L4jJvrDHGPO++7MNwY0xD4ClgemHyNMZMNca0NMa0HDZsmM866RvWYq9RC3u16hASSplrr+PMkkUedc4sXkBYC9eF7BIRSUjN2mQk7CV9w1psFSpgi3R1fMJaXuFxYX5RaN60CTt372FPQgJp6enMm/8jnTq0Pfd2mzRm55497EnY52r3x5/p1N6z3U7t2zBrrmvAd/6CRbS6rEWu1zyeOHmSZGtKLiMjg8W/LqNu7VoFSyxxF1SMhojKYLMjF1yK2bbm7Pq00zjffhrnu6NwvjsK9u/EOWvKOd+13ax6FLsOHWXv4WOkORx8v34HHRvW8Kiz8+DRrJ9/2bKXWlaH8ejpM9w782ce69yCS2t6ToUWFX99DjIlrPiTqPr1qFi7FvbQUC4c0I+Nc7/3qFO2cqWs49/+qUdZNeMTAPau+JPSkRGUi6oMQL2O7Txu0vm3SN+wlhCvc8HpXzzPBacXL6BUS9e5wBaZ87mg1GVXkL49f+eC5o0vYOeevezZt991bH9aSKe2rT3qdGrbmlnfzQdg/qJfaNXyEkSET6dMZOE3n7Pwm8+5bUB/7r7tZm6+4XqMMTwz+j/UrV2LO27K/81uzapVZtfhY+w9ctz1e7BhJx0bxHnU2XnI7fdgawK1KlYAYO+R42RYN1klpB5n+8GjVI8oulHQfBPxzytI9K5tVVL1Bz4yxtydWSAivwBtgaK7A8BlInCniHQxxswv4rbB4eDoqy9T6a1pYLdxavb/yNi+lfJ3P0j6xnWcWbKIM8t/JaxVa6K+mANOJ0ffHI9JPQLA0TdepdI774MI6RvXc3LWl0WaXkhICM89NZy77nsIh9NJv949aVCvXtG0++Tj3PXAIzgcTvr17kGDenV5452pNGvSmM7t29K/d0+Gj3yBa3r3JyIinAljXsravlOPvhw/cYL09Ax+XryE6ZPeIDIignsfe5K0tDSMMVzR8lIG9ivg9J5x4lzwBbZ+94NNMGt/g4OJSOvumMTdsG3tOb93X0JsNp7p1oqhn/yE0xj6XlyfBjEVeWvRXzStVplOjWry6YqNLN+xnxCbEFG6FGN6u66P+/SPTew+dIy3l/zN20v+BmDazddSuVyZosvPT5+DTE6Hg9kPD+eOeV8jdjurZnxM8oZNXD1qBHtX/cWmud9Tt30brn15FBjDjl+XMftB12OfjNPJ908+y50/zkYEEv5czYppHxRZbpmGfDqdhh3aUD6qMmP3bGTOqDEsm/5R0QVwOEh95WUqT3SdC05+6zoXVLjnQdI2nD0XlGrVmugvXeeC1DfczgWvv0rlyQU/F4SEhPDcE49w18NPuI5tj+toULcOb0x9j2YXXEDndq3p3/M6hr8wmmv630REeAUmvDQq1zZXrV7Lt9//SMN6del9yxAAHrt3KO2vyv2xSSE2G89cexlDP1uA02noe1E9GkRH8tYvq2latRKdGtbg05WbWb4zkRCbjYjSYYzpeRUAf+5J5t3l6wmx2bAJjOxyORXLls7XPlA5k5wHW5T69xKRRcB/jDE/uJU9hOsxQPeKyO1AS2PMA4VsfwauR/p8ZS33A+4zxnQ+h8f/GID9LRsXJqVCq7pyo2fBybxvVilyZb2mo48fCmz88pU8Fh3jC/WxOCf2JyZ65vDJ2MDGH/x/ngXF4HMwIjQyoOHHpB/xWL5Hiv4SgLxMNkc9lve1COz5oNoqr/PB4UTfFf2pYhWPRccHL+VQ0T/st2VdzeSXYT7HZ+P90vGyD3wiKMOSOiKpSiRjTLZbcY0xb7r9PAOYcQ7t3+61/DXwtfVzB691O4HCPUNSKaVUyRLEO6z9Qa+RVEoppZRShaIjkkoppZRSgVLCvmtbRySVUkoppVSh6IikUkoppVSglLDv2taOpFJKKaVUoOjNNkoppZRSSumIpFJKKaVU4JSwqe2S9W6UUkoppVTA6IikUkoppVSg6ON/lFJKKaWU0hFJpZRSSqnAKWHXSGpHUimllFIqUErY43/EGBPsHJRSLvrLqJRSxYdfenyOOe/45Vxv73lvUHqoOiKplFJKKRUoJWxqu2S9G6WUUkopFTA6IqmUUkopFSgl7PE/2pFUqpi5R8IDGm+yOepZcOJwQOMDUK6i5/Lh/YGNX7Gqx2LGo30DGx8ImTDLY3lLw/oBjd9wy1bPgmMHAhofgApRHouO/70R0PD26x/2jP/BSwGND2C/baTHcrDPB841iwIaH8B2YUeP5bQh1wY0fth7P/o3gK1kTQaXrHejlFJKKaUCRkcklVJKKaUCpYRNbeuIpFJKKaWUKhQdkVRKKaWUCpQS9vgf7UgqpZRSSgWKTm0rpZRSSimlI5JKKaWUUoGjj/9RSimllFJKRySVUkoppQJHr5FUSimllFJKRySVUkoppQJHH/+jlFJKKaUKpYRNbWtHUql/uVvem0TzHl05lpzCS81b+SXGkqXLGT1+Ak6Hkxv69mLYHbd6rE9LS+PJkS+wfuNmIiPDmTDuZeKqVePwkVQeevL/WLd+I317due5p58oWNzlvzN6wkScTgc39OrOsFsHZ4/7wljWb95MZHgEE15+jrhqVbPW70tMovug23jgrtsZMnggZ86cYfC9D5OWlo7D4aBLp/Y8NPSOfOUiF1yCre8QEBvO33/GLPif73oXtsJ+x1Nk/PcJ2LMNbHZsA+9HqtcFux3nikU5blsQZdu2I+aZZ8FuJ/XLLzg8dYrH+uj/e4Yyra4AwFa6DPbKldnW8tICx1my7DdGj38dp9PJDX16Muz2WzzWp6Wl8eSol1zHPiKCCWNfJK5aVZb+9gevTZxMeno6oaGhDH/4fq68rAUAEyZN4ZvvfuDo0WP8Ff9zIfcAxG/ezdi5v+JwOul/WROGdvB8f5/9vo6Zy9dhswnlwkJ5vm8H6sdWKnQ8gPht+xj70wocxtD/ovoMvaqZZ8w/tzBz1RZsIpQLC+H5bldQPzoya/2+1BP0nDqH+9teyJ2tmpxTLr4E4nwQ/9d6xrz/BU6nk/6dWzO0b1eP9Ss2/MPYGV+wZVcCrz0yhC5Xtsha9+pHX/PLn+swxnDVhY0ZcceNSAE7VtKsJSGD7gWx4Yj/Aef3n3ust7W+BvsNQzGHDwLgXPgtzvgfkBp1sd/yEJQuC04nznkzca74pZB7QWUqWeOrShUDIrJIRLp4lT0iIu/4I97yGZ/wVtfr/dE0AA6Hgxf/M55pb01g3tczmfvDj2zdvsOjzpffzCY8PJyfZn/F7YMHMf6NSQCUKhXGw/cO48lHHyxc3PFvMG3Cf5g38wPm/riQrTt2esad/R3h4eX56atPuX1Qf8ZPmuqxftwbk2h75RVZy2FhYXww8b/M/vg9vvloGvHL/+DvdevzTkZs2PoNwzH1JRz/eQjbJW0gNi57vVKlsbXrgdm5+eymF18F9hAcrz6C47XHsV3VBSpGF2hfZGOzETPqeRKGDmHndV0J79GDsHr1PaqkjB3N7t692N27F0c+/pDjP84vcBjXsX+NaW++xrwvP2Hu/J+zH/tv5xJeoQI/ffMFt980gPFvvQ1AxchI3pnwH+Z8/hHjnn+WJ597MWubju1a8+UH7xbijbvl5nTy8uwlTLmjO3MeHcR3q/9ha9Ihjzo9LmrIt48MZNZDA7iz3SW8Mm/pucec/wdTBnRizrCefLdhJ1tTjnjGbFqbb4f2YNZd3bmzVRNeWbDKY/0rP6+ibb1q55RHbvx/PnDy0nszmfrMA8yZMIp5S1ewdc8+jzrVoioy9v7b6N7mMo/yvzZv46/N2/h2/Ehmv/Yca7fuZMWGLQVLQGyEDH6A9AnPkD5yKLYrOkDVmtmqOf/4hYwX7iXjhXtxxv8AgEk7Q8a0V8h4bhgZr4/APvAeKFOuYPGLgtj88woS7UgqVfRmAgO9ygZa5UVua/wyTh467I+mAVizbgO14uKoEVedsNBQune5hgWLl3jUWbg4nr49rgOgS+eOLF+xEmMMZcuUoeUlF1MqLKzgcTdsolZcdWpUr+aKe00nFizx7AgsjF9K3+tcoyFdOrZn+cpVGGMA+PmXeKpXq0qDOrWz6osI5cqWBSAjI4OMjAyEfIyG1GyAObAfDiaBIwPnX78izS7PVs3W7SacC2dBRvrZQmOgVGnXs+NCS0FGBpw5VcC94an0hReRvmsX6Xv2QHo6R+fNo9zVV+dYv0L3nhybO7fAcdas30itGm7H/trOLPgl3qPOwl/cj30Hlv/hOgZNLmhIbLSrw9ygXh3OnDlDWloaABc3b0ZMVFSB83G3dk8yNStHUKNSBGEhdrpdVJ+FGz07ueVLn/3cnUrLOOcpxbX7DlKzYgVqVKxAmN1Otya1WfjPXs+YpdxipmeA2+fr5817qB5ZjvpREeeUR278fj7YupOaVWKoERtNWGgI17W+jIUr13jUqR4TRaNacdiy7W/hTFoG6RkZpGVkkOFwUDkivEDxpW4jTPI+OJDo+l384xdsl1yVv42TEiDZ6vQeOYQ5dgQq+O9YnC+0I6lU0fsK6C4iYQAiUhuoBsTntlFxlZSSQpUqMVnLsTExJCWnZKtTtUosACEhIVQoX57DR1LPPW7M2ZG72JhoklJ8xI2N9oybmsqJkyd596OZPDDktmztOhwOet8yhKu69eGqy1tyUbO8pxclshIcOXC2IPUgElHZs1JcXYiMwmzwHIEyq5fDmdPYX5iO/bmpOBd/AyeP5xkzNyGxsWQk7s9azkhMJDQ21nfdatUIjYvj5G/LCxwnKTmFKrF5HPvkFKpadVzHoByHUz2P/fwFi2lyQSPCCvEPihxzO3qCKhHls5arhJcnOfVEtnqfLl9Ll1c/5rUfljGiZ5tzi3nsJFXCy56NWaEsycdOZo+5cjNd3v6G1xb+xYhrWwJwIi2d935bz31tLzynHIIt+dBhqlSumLUcWymSpIP567he0qguVzRrSLthT9Fu6JO0uagJ9eKq5r2hu8gozCG3z+DhFCSycrZqthZtCHl+MiH3jvQ5AyB1GiH2UEjZn22d39nEP68g0Y6kUkXMGHMI+APoZhUNBL4wmUNlyu8mTpvBbQNvyBp9dGe32/n2o/f4ZfaXrNmwkS3btp97QBHsve/A+e372dfVagDGiWPUEBwv34OtQ2+o7LvT5w8Vuvfg2PwfwOkMWEx3/2zbzvi33ubFEcODEv+mK5szf/jNPNb1SqYsXJX3BkURs2Uj5t/Xh8c6XcKUpesAmBS/hlsva0y5sNCA5FAc7dqfzLa9iSyaPJbFU8bx27rNrNz4T5HHcf79G+lP3UrG8/fg3PAnIUO8PnsRlQi560ky3h/vmjEINJ3aVkrlg/v0do7T2iIyTERWisjKqVOn+qoSdLHR0SQmJmctJyUnExsTna3O/sQkwDVlfOz4cSpGntuUUWx0NIluo19JySlZU6UecZNSPONGRLB6/UbGT5xMpz4D+ODzr5jywSd8/KXnDS7hFSpwRYtLiP/tjzxzMUcOQaTbVGxEZUzqwbPLpcpAlZrYH3gZ+8gpUKsh9iEjoEY9bJe2w2z6C5wOOJ6K2bEJqVGvEHvkrIykJEKqnB3JCalShfSkJJ91K3TvwbG5cwoVJzYmmsSkPI59TDT7rTquY3CCihGuY5+YlMwDw0fwnxdGUjPOxzWl5yA2vByJqWdHdhOPHicmIufr3a67sAELNuzIcX2+YlYoS+LRsyOQicdOElMh+z9WsmI2qc2CLXsAWJNwgNcW/cnVk2bx0YpNTF22jk9Wbs5x2+IqplJFEt1GIJMOHSHWbYQyNz//8TcXNaxDuTKlKVemNG0vacbfWwr4D7kjB5BKbp/BitGYIwc965w4lnV5iXPJ90itBmfXlS5LyMMvkfG/GZjtmwoWW/mkHUml/ONboLOIXAqUNcb4HAoxxkw1xrQ0xrQcNmxYYDPMp+ZNG7Nzzx72JOwjLT2defN/olP7th51OrVvy6y53wEwf8EiWl3WssB3YmaL27gRO/fsZc++/a64Py2kU1vPa6E6tb2KWd+5LqSfv+gXWrW8FBHh0ylvsfCbz1n4zefcNqA/d982mJtvuJ5Dh49w9NgxAE6fPsOyP1ZSt1b2C/Wz2fMPEl0VKsWAPQTbJW0w61ecXX/6JI6Rt+F46W4cL90Nu7bgeG8M7NmGOZyC1G/uqhdWCqnVEJOUcE775vTaNYTWrkVIXByEhhLevTsnFizIVi+0bl3s4eGc/uuvQsVp3uQC1zHIPPY/LqBTO8/p4U7t2rgd+8W0uqwFIsLRY8cY9shwHn/gHlpcXPTTuc3iYth1IJW9h46SluHg+9Vb6di4jkednQeOZP38y+Zd1DrHaxObVavMrsPH2HvkOGkOB99v2EnHBp4d5J2Hjp6NuTWBWhUrAPDxrV34+f6+/Hx/X2657AKGXdWMwS0bnVM+wdC8fi127U9mb9IB0tIz+G7pCjq2zN/xrRpViRUb/iHD4SA9w8HKDVuoV71gU9tmx2YktjpEVXH9Ll7env9v776joyq3Po5/dxJ6Cb2DVAtSRLECIqCCCopdvF676C2Wq2K5KnbsFXvBcl+xd1BRERQEG6gUC6J06SK9hGS/f5wJTMIkkMick2R+n7WyOG1m70yGyc5znuLf5eu2kbl1ZL7tdSC+cG6wk55Bxr+vJ2fCx/ikCHsamSXnKyKa/kckCdx9jZmNAYaRpEE2uc4ZPoxdD+lK1Tq1uW3ej7x7/RAmDPvfTnv+jIwMBl95Oef+62Kyc3I4/ui+tGnVkgcefYJ2bXenV/eDOaF/PwZddyOHHX0CmZnVue+2m7c8vudR/Vmzdh1ZWVl8PPZThj3yIK1btigkYlzcyy/m3IsHBXH7HkGbli144IlhtNt9N3od3IUT+h3JoBuHcNgJp5JZvTr33Ty40Odcsmw5V918G9nZObjn0KdXD3p03YGO+jk55Lz+JOnnXw9paeR8ORoWzSOtzwB83sy8RWU+Pv59bMCFpF/5AGDkfPUJLJyz/ZiFyc5m6U030uTpZyA9nVWvvcqmmb9Q+6KL2TBtGms/CYrK6kf1ZfV7I4sdJiMjg8GD/sO5F15Kdnb21p/9Y0/Sbo/d6dW9Gycc05dBg2/msP4nBT+DITcC8H8vv87cefN5+KlnePip4Jb/sIfup3atmtz5wMOMGPUR6zds4OAj+3PiMf248PxzipZbehrXHN2N84a9S447x3benTb1azH0o6/Ys3FderZtwfCJU5k4cz4Z6WlkVqrAkBN7Ffu1AMhIS+Oaw/flvJdGk5PjHNuxFW3q1mDop9+zZ8Na9Ny1KcO/+ZmJsxeRkZZGZsXyDOm3gwNBdpKkfx6kp3PtOSdz7q0PkpOTw3E9DqJN00Y8+NI7tGu1Cz337cjUmbO58K7HWLV2HWMmTWXoKyMYcd/19D5gb76c9jPHXHYzBnTda88dLkK3yMlh8wsPUe4/QyAtjezxo/Df55B+zOnkzJ6Bf/8F6b36Y3sdENwFWLuazcPuBiBt3+5Ym/akValOWpfDAcgedhc+byd0b0lhpm5bIslhZv2BN4E93H1H7qE4wAVWtFGMf9VjvirvgbXJG/FZoCr5bo2tCLkDfM28rSKb/3NsuPGBjPvezLM/Y9fWBVyZHLvOmJn3wOpliS9Mpmp5R3Jnv/FAqOHTj7s4b/znbi7gyiTmcMZ1efaj/jzImTIm1PgAaR165NnfdM7hocYv//SHuZtJaebL/vyNpBRe6V2Oi6RZUi2SIkni7m+RpA8iEREpnf5qt5+SRn0kRURERKRY1CIpIiIiEpYIp+pJhrL13YiIiIhIaFRIioiIiIQlwgnJzayPmf1sZjPN7KoE5y81sx/MbIqZjTazXbb3nCokRURERMo4M0sHHiZYda0tMMDM8q8R+y3Q2d07ECz3e+f2nleFpIiIiEhYoltrez9gprv/5u6bgJeAY+IvcPcx7p67fNMXwHaXpNJgGxEREZGwRDfYpjEwL25/PrB/IdefA7y/vSdVISkiIiJSypnZQCB+rd0n3P2JYj7XaUBnoPv2rlUhKSIiIhKWJE1IHisaCyscFwBN4/abxI7lYWaHAtcA3d194/biqo+kiIiISNn3NdDGzFqYWXngFOCd+AvMrBPwOHC0uy/ZkSdVi6SIiIhIWCLqI+num83s38AoIB0Y5u7Tzewm4Bt3fwe4C6gKvBpbynGuux9d2POqkBQREREJS4Rrbbv7e8B7+Y4Njts+tKjPqVvbIiIiIlIs5u5R5yAiAf1nFBEpOZLSdJjz7cdJ+axP63RoJE2dapEUERERkWJRH0kRERGRsOzYKjSlhgpJERERkbBEt7JNUqiQFClhxtXf7tKmO1W3xfPzHli3MtT4AFTOzLOb/f5ToYZPP+LcPPs508eFGh8gbc9uefazh14Wavz0C+/Je6AEvA988W+hhrf6LfPGX/RrqPEBrEGrPPtRfx5cYNVDjQ/wmK/Ks+9zp4ca35rtGWq80k6FpIiIiEhYIpz+JxnKVvuqiIiIiIRGLZIiIiIiYSljfSTL1ncjIiIiIqFRi6SIiIhIWMpYH0kVkiIiIiJh0a1tERERERG1SIqIiIiEJ61steGVre9GREREREKjFkkRERGRkJgG24iIiIhIsWiwjYiIiIiIWiRFSoWaPQ6h5S03YunpLHrhReYPfTjP+ZY3XU9ml4MASKtUifJ1ajNx1z0BaH7dNdQ6tCeWlsaKz8bx2zWDd3p+n30+kVvvuoecnBxO7H8MA88+Y6fHGPfjLG57YzTZ7pxwQAfOO3T/POefHfM1r30xlYw0o2bVytwyoA+Na2Xy5S9zuf3NT7ZcN2vJH9x9ej8O7dCmaPEnT2PIsBfJycnhhEO7cd5xR+Y5//X0Gdw27CVmzJnPPZcOpPdBnQH4cupP3P7My1uu+23BQu659HwO3b9TUV8Cxs1Zwm3jpgevQdtmnLdP6zznX5o2hxenzCYtzahSLp0benSgda1qZGXnMPiTKfywdCXZ7hy9WxMGdm5dQJTiC+V98OU33PrgY8HP4ag+DDztpDznN23axJW33sP0Gb9Qo3p17r3hapo0rE/W5s1ce8f9/DDjV7KzszmmTy/OP+3kHY859PFYzN4M/Fv+mFlcOeRups+YSY3q1bj3+riYdz7ADzNmkp2dwzG9e3L+aSezceMmTrvoCjZlZZGdnc3h3bty0dmn7VAuNXuU7M+Cvz/9MO379mH1kqXc3P6Anf78AOO+nsytjwwLfh5HHMrAU47Lc/7rKdO57dFh/PzbHO655lL6HBy8Hj/OnMUNDz7O2nXrSUtL44JTj+fIQ7omJcdClbFb22qRTDFmlm1m35nZNDN71cwq5zue+3VV7PhYM/vZzL43s6/NbK+45zrCzL4xsx/M7Fszuyd2/AYzW5Dv+WqY2SFm5mbWL+45RsSOvxm7bqaZrYx73EGxHDrHrp9tZnXyfU9nmtnSfPHaxs41NLMR+a6/P5ZfWgHP8YOZnRc73tfMbirk9SxnZpPzHXvGzM7Pd6y/mb2/Qz+k/NLSaHX7LUw/9e9M6taDusceQ+Vd8xZBvw2+kW979ebbXr1Z+PQzLHsvCFWt8z5U368zk3scxqTuvai2V0cyDzqwWGkUJDs7m5tuv5OnHnqAka+/zIgPRjHz1992boycHG557SMeP/8E3r3qbN6b/CMzFy3Lc80eTerz6mV/560rz6J3x125551PAdi/TTPevOJM3rziTJ7518lULF+OLrs3L1r87BxufvIFnrj2Et594GZGjvuKmfN+z3NNo7q1uO3CsziqW94Cd//2u/Pmvdfz5r3X88yNl1GpQnm67NW2GK+Bc8un03i83368e+ohvDdjATP/WJ3nmr67NuLtU7vz5ikHc/berbhz/A8AjJq5kE05Obx9andePakbr0yfw4JV64qcQ6H5hfE+yM7mpvse5sm7bmbE848zcvRYZs6ek+ea10Z+SPVqVfnwxWGccVJ/7nlsGAAfjBlHVlYW7z73KK8/9SAvv/Me8xcu3rGY9z/Ck3fexIjnHmPk6E+ZOXtuvpijgpjDn+aME4/lnsfzxXz2UV5/8gFefvd95i9cTPny5Xj2vtt4e9jDvPn0Q4z/6hu+m/7T9l+AEv5ZADDx2RcY2ue47V9YTNnZ2dw09EmeHHItI556gJFjxjFzzrw81zSsV5fbBl1I357d8hyvWLECd1xxESOeeoAnh1zHbY8OY9WatUnLNVWokEw96919L3dvB2wCLsh3PPfr9rjH/M3dOwKPAHcBmFk74CHgNHdvC3QGZsY95r58z/dn7Ph84Jr8Sbn7se6+F3AuMC7ucRN28Pt6OV+8H2LHLwWezL0oVjweC8wDuid6DuAQYIiZ1QdGAv1yC+4EugKf5zv2InBKvmOnxI4XWbW992LDrNlsmDMXz8pi6VtvU6vP4QVeX/fYY1j6xtuxPSetQgXSypcnrUJ5LCODTUuXFieNAk2ZNp1dmjahaZPGlC9XjqN6H87osZ/t1BhT5yykWZ2aNK1Tg/IZ6RzRaXc+mTozzzX7t2lGpfLlAOjQvBGLV67e5nk+/H4G3fZoseW6HTVl5iyaNaxH0wZ1KV8ugyO77scnX32X55rG9eqwW/OmpKUV3Nrw4cRJdOvUnkoVKhQpPsDUxX/SLLMKTTOrUD49jSPaNOaT3/IWQlXjvq/1Wdlbts1gfdZmNufksHFzNuXS0qhSfufekArjfTDlxxk0a9yIpo0aUr5cOY7s1Z3R47/Ic83o8RPp3+dQAHp378bEyd/h7pgZ6zZsYPPmbDZs3ES5jHJUrVLQf+tCYvY8mNHjJ+aN+fkX9O+dG7MrEyd/vzXm+viYGVStUhkzo0rlSgBs3ryZzZuzd6iRqqR/FgDMHDeBdX+s2OnPm2vKzzNp1qghTRs2CH4eh3Rl9ISv8lzTpEE9dmvZHMvXF7FFk0Y0b9IIgPp1alGrRiZ//LkyabkWyNKS8xURFZKpbRxQlPtbE4HGse0rgFvd/ScAd89290d34Dm+B1aa2WFFyrT4jgc+iNs/BJgOPAoMSPQAd18C/Ars4u4OjAX6FvD8fYD8LY2jgd3NrCGAmVUBDgXeKs43UKFBQzb+vnDL/qbfF1GhQcPE1zZpTMVmTflzfFDbrv5mMis/n8D+Uyax/5TJrBj7Ket/mZnwscW1eMlSGtSvv2W/fv16LN7Jv6AWr1xDg5rVtuw3qFGNJSvXFHj9G19MpdseLbc5/v63P3HU3nsUOf6S5StoULvmlv36tWuyuBi/LN8b/zVHdtuvyI8DWLx2PQ2qVdyy36BqRZasXb/NdcOnzKb3859wz4Qf+e/BwS3Nw1s1pFK5DLoP+5hez43mrE4tqVGxfLHyKDC/MN4Hy5bRsF7dLfsN6tZh8dLlea5Zsmw5DesFNy0yMtKpVqUyf65cRe9DulK5YkW6HXsqPU88nbNPOY4a1auxPYvjnm9LzGWJYtZNHLNSRbod9zd6nnQGZ598/JaY2dnZ9D/n33TpfyoHde5Ex7a7bzeXkv5ZEIbFy5bTsG7tLfsN6tRm8bI/ivw8U376hayszTRr1GBnprdjzJLzFREVkinKzDKAI4CpsUOV8t0aTtR5qA9bi6F2wKRCQvwn7rnG5Dt3K3DtX0g/kZPz5V/JzFoAK9x9Y9x1AwhaBt8EjjKzbZqmzKwl0JKtLazfAN3yXxfTg6DQ3MLds4HXgdyOVP2Ase6+qnjf2o6r2/8Ylo14D3JyAKjYvDmV27Thy7325cuOnanRtQvV9y9eIVNavPPNdKbNW8TZPffNc3zpyjXM+H1pkW9r7yxL/viTGXPn03WvPZMa59QOzRl1ek8uPXAPHv86eAtPXfInaQZjzzqUD0/vybPf/ca8lal1S2/qjz+TlpbGZ2++wMcvP8szL7/BvLiiLKkx3/g/Pn7pGZ55ZWvM9PR03nr6Ica++jxTfpzBjN9m79TY+iwo2JLlf3DFHQ8w5PJ/k1bGJgePgl7B1FPJzL4jKI7mAk/Hjue/tf1y3GNeMLNZBLek8/bsLlj8re0e8Sfc/TMAM9uZvZzz39peDzQEtjSJmFl54EjgrVhR9yXQO+45To69Ni8C57t77p+5S4BG+QOaWWPgD3dP1Nks/vZ2gbe1zWxgrJ/pN0888UTCb2zjooVUaLS11aF8owZsXJT4F2Dd/kez5I23tuzXPrIPqyZNJmfdOnLWrWPF6DFU77xPwscWV/16dVm0eOst1sWLl1C/bt1CHlGMGJlVWbRi663qRX+upl5m1W2um/DzbJ748AsePvdYymfkvXX7wXc/c2iHNpRLTy9y/Hq1a7Jo+dYWyMXLV1C/Vs1CHrGtDyZ8w6H77025jOLdUq5fpRKLVm/Ysr9ozQbqValU4PVH7tqI0bMWATByxgK6NatHufQ0aleuQKeGtZi2ZOfe0gvlfVCnDguXbG3lXLR0GfXjWqcA6tWpzcIlQf/ZzZuzWb12HTUyqzPio7F0278z5TIyqF2zBnu3b8u0n37ZgZhbn29LzDqJYi7dNubHY+m23z5bY7bbNmb1alXZv1MHxn1V2N/lgZL+WRCG+nVqszCuFXrRsuXUr1Nrhx+/Zu06Lrj2Vi4561T2artbMlLcvrS05HxFRIVk6okvGC9090078Ji/EbTQPQcMjR2bDvyVT6FktErmtx6oGLffG6gBTDWz2QT9G+Nvb+cWo/u7+5txxyvGniu/PsCoAmJPABqaWUfgIIK+lttw9yfcvbO7dx44cGDCJ1r97fdUbNmCCs2aYuXKUbf/Mfwx6qNtrqvUuhUZmZms/mbrL6SNCxaQedABkJ6OZWSQedABrPtl+788i6L9nm2ZPXce8xYsYFNWFiNHfUjPQwpqwC2eds0aMmfZCuYv/5NNm7N5/9uf6NEub6+MH+Yv5sZXPuSh846jdrUq2zzHyMk/cmQxbmsDtG/dnDkLFzN/8VI2ZW3mvfFf0WPfjkV6jpHjvuKorsVvAWpXP5M5K9cyf9U6NmXn8P4vC+jRon6ea2b/ufV2/6ezl7BLZvA6NKxaiS/mB8XQuqzNfL9oBS1rbluI/xVhvA/a774rc+b/zvzfF7EpK4v3Rn9Kzy55Rwb37HIAb33wMQCjPh3HAXt3xMxoWL8uX0z+HoB16zfw/fSfaLlL0x2PuTAW85PPEsTcn7dG5cYczwGdOsRi1ssb84cg5h9/rmTV6uBntWHjRiZ88y0tmzXZbi4l/bMgDO13a82cBQuZv3Bx8PMYO56eB+67/QcCm7Ky+PcNd3DMYYdsGcktf52m/5Ed4u5uZtcBv5rZ7gSDbt4ws/HuPiM2iGWguz+2g8/3oZndTNBqmCwzgOZx+wOAc939RdjSd3FWIQNpcu0KTEtwvA9wXaIHxF6vlwmK7/fdfUOi63ZIdja/Xn0d7V56AUtPY/GLL7Pu5xnscsXlrP7++y2/SOr2P4alb7+T56HL3h1Jja5d2Gfsx+DOH2PG8seHHxc7lUQyMjIYfOUgzv3nRWTn5HD8Mf1o06rVzo2RnsY1xx/KeY+9Rk5ODsfu3542Desw9L3x7NmsAT3btebud8aybmMW/3kmGFzQqGZ1Hj4vGD26YPlKFv25mn1bbb9wSBw/nWvPPZVzb7qfnJwcjuvVhTbNGvPgi2/RrlVzeu63F1N/mcWFdzzCqrVrGfP19wx9+R1GPBAM+F+wZBmLlv/BvnvuWvzXIC2Naw7ek/Pe/pIcd45t25Q2tasx9Muf2bNeJj1bNGD4lNlMnL+MjLQ0MiuUY8ihewEwoH1zrhn9Pf2Gj8Udjt2jKbvVqV7sXBLmF8b7ICOd6y75B+dcfi05Odkcf+ThtGmxCw8+/TztdtuVnl0P4ISjenPFrXdx+ICzyaxWjXtvuAqAU4/tx39vv5e+p5+Pu3PckYezW6sWRYyZExfzf7TbvQ09uxzACUf25opb7+bwU88JYl5/ZRCzf1/+e/t99D3jgiDmEYexW6sW/PzrLK4acg/ZOTm4O30O6UaPg/bfTiaU+M8CgHOGD2PXQ7pStU5tbpv3I+9eP4QJw/63054/Iz2d6/59LudcfVPw8+jdizbNm/Hgsy/SbtdW9DxoP6b+/Av/vuEOVq1Zy5gvvuah519mxFMP8MGnE/hm6g/8uWo1b44KelzdNuhC9mi9/ffBTlXGpv+xYCyBpAozW+Pu2zRFmFk2W/tLAnzg7leZ2Vjgcnf/JnbdZUBbdz/HzPoCNwKVAQdGuPsVZnYDcB5xt5WB/gRF3eXu3jf2XEcDbwM93H1s7Ngh8dfEjm3JIdaSWB7IiZ1+BZhCUNguiIv3T3efYGajgfOB3wlGjDeP76toZm8ALwOVgM7u/u8Er80I4Gp3nxp3LB34xt0LnAwwNlXSt8AR7v5BQdfFcYBx9bffMrEzdVs8P++BdRGMYqycmWc3+/2nQg2ffsS5efZzpo8LNT5A2p55W++yh14Wavz0C+/Je6AEvA988c6dPmh7rH7eAVq+6NdQ4wNYg7zFd9SfBxfYzv2DY0c8lq87uc+dHmp8a7alH3NSKj6fMzUphZft0j6SClUtkikmUREZO56w45i7H5Jv/5647RHAiASPuQG4IcHTzSZuYIq7v0O+/6ixgnJsvmOHxG03T5Qn8GwBxx8CznT3a4FtOtK4e/yEZ9s8R2wKoErxRWTMgQR9LAvk7t+RpA8iERGRkkCFpJRp7v6mmdXe/pUFagZs0zTk7uOB8X/heUVEJBWVsVvbKiSlzHP3Yt8ndfevd2YuIiIiZYkKSREREZHQlK0WSU3/IyIiIiLFohZJERERkbCoj6SIiIiIFEsZKyR1a1tEREREikUtkiIiIiKhUYukiIiIiIhaJEVERERCU8b6SKqQFBEREQlL2aojdWtbRERERIpHLZIiIiIioSlbTZLm7lHnICIB/WcUESk5klLx+e8zkvJZb412jaRCVYukiIiISFg02EZEREREiqWMFZIabCMiIiIixaIWSZESZlqLFqHGazdrVt4D61aGGh+Aypl591cvCzd+tTp5dpcdsGe48YE6X0zPs7/56gGhxs+47cW8B9auCDU+AFVq5tnNvv+SUMOnX3J/3vi3XxBqfID0qx7Lsz+1ebifB+1n5/08yPlpYqjxAdJ2PzDP/gVWPdT4j/mqJEdQi6SIiIiIiFokRUREREKjPpIiIiIiImqRFBEREQlR2WqRVCEpIiIiEhbd2hYRERERUYukiIiISHjUIikiIiIiohZJERERkRCVrRZJFZIiIiIiITHd2hYRERERUYukSKlQ9eCDaXj99ZCWxoqXX2bZY3nX421w7bVUOTBYnzatUiUyatfmx44dqbjHHjS65RbSqlaFnByWPPQQq0aO3On5ffb5RG696x5ycnI4sf8xDDz7jL/+nBO+4Na77489Zz8Gnvn3POc3bdrEFdffzPQff6ZGZib33XYTTRo15PMvvuKehx4jKyuLcuXKMejif3HgvvuwfsMGLr7yWubOX0B6eho9unXl8gv/scP5lDugK1X+cxWWls6Gd15n/f+e2uaa8r16U/ncf4E7m3/5mTXXX7HlnFWuQo2X3mHTp5+w9p5bi/Wa2K4dSet7OqSlkfP1GPzTdxJft+d+pJ/2HzY/dA0s+A1q1CH90ntg6e8A+LyZ5Lz1dIFxPvvsM2695WZysnM48dijGXjW6XnOb9q0iSuuuzF47WtU577bb6FJo0YAPD7sOV57613S0tO4dtCldDvoAH6bPYf/XHXtlsfPW7CAiy4YyJl/O4WfZvzC9bfewbr162nctBl33303VatWLTC3cXOXctv4H8l254Q9mnDe3q3ynH9p+lxenDaHNDOqlMvghu570rpWNTZl53DDp9OYvnQlaWZc3WUP9mtcu/AXPJEWbUk79CRIS8O//xz/YlTi63brRPqx55P97BBYNBcqViHt2IHQcBd86hf4Ry8VPTZQtfvBNBp8PaQHnwVLH837WdDwurjPgoqVyKhTmx86dKRi2z1oHPss8Owclj78ECtHFO+zYNzkKQx5cjg5OTmccNjBnHdC3zznv57+M7c9NZwZs+dxz+X/oHeXfbec+33pcq57aBiLlv2BYTw++D80rl+3WHkU5O9PP0z7vn1YvWQpN7c/YKc+905RxlokVUiK/EVmlg1MJfj/9CNwhruvizue6yV3v73IAdLSaHTTTcz6+9/ZvGgRLd9+m9Uff8zGmTO3XLLollu2bNc64wwqtW0LQM6GDcy/7DI2zZ5NRr16tHr3XdZ89hk5q1cX51tNKDs7m5tuv5NnHn2I+vXrccLfzqBn9260btXyrz3nHffwzMP3B895+rn0PLgrrVu22HLNq2+PoHq1anz01iuMHPUxdw99hPtvu5maNWrw6H13UL9uXWbM/I1zLvwP495/G4Cz/z6AAzrvw6asLM78x0V8+vlEunc5cPsJpaVR9fJrWHnReeQsWUyNZ15m07gxZM/+deslTZtR+fTzWDnwNHz1KqxmrTxPUfn8C8n6dlKxXxPMSDv6LLKfHgKrlpP+r1vJ/nESLFmQ97ryFUnr0gef+0ve48sXkz306u2Gyc7O5qabbtr62p92VvDzjH/t33qH6tWr89E7rzFy1Efc/cDD3H/Hrcz8bRYjR33EyNeGs3jpMs76x4WMevMVWjbfhbdf+t+W5z+4Tz8O69EdgGtuGsKV/7mQ/fbZm9feH81TTz3FJZdckji3HOeWcdN5qt9+1K9SkZNfn0CP5vVoXavalmv6tmnIKXs2A+CTWYu5c8JPPNF3X177cR4Ab5/cjeXrNnL+yG945YSDSCvKL3Uz0g4fQM5LD8DqFaSdeTX+yxRYvjDvdeUrkNa5J77gt7jks8gZ9w5WpxHUbbzjMePlfhacFnwWtHrnbVZ9lPezYOHNWz8Lap9xBhX3jH0WrN/AvEu3fha0HvEuqz/7jJxVRfssyM7O4ebH/8fTNw6ifu1anHT5jfTYrxOtm239nhrVqcVtF5/LsDff3+bxV93/BOef2I8ue7Vj7foNpKXt/KJq4rMvMPahJzjz+cd3+nPLtnRrW+SvW+/ue7l7O2ATcEG+47lfRS8igUodO7Jxzhyy5s3Ds7JY+e67VDvssAKvr9GvH3+++y4Am2bNYtPs2QBsXrKEzcuXk1G7GK0whZgybTq7NG1C0yaNKV+uHEf1PpzRYz/7a885/ce8z3l4L0Z/Oi7PNZ98Oo5j+x4JQO9ehzDxq0m4O21335X6dYMWjjatWrBx40Y2bdpEpYoVOaDzPgCUL1eOtrvvxuIlS3con4y27cmeP4+c3+fD5iw2fvQe5Q/ukeeaisecyPrXX8RXrwLAV/yx5Vz6bm1Jq1WbrK8mFO8FAWjaGl++CFYsgexscr6fiO3ReZvL0g4/iZxP34XNWcUKM2XKFHbZZZe4n+dh2/w8Pxkb/9r3YOLX3+DujB77GUf1Pozy5cvTtHEjdmnShCnTfsjz2IlffUPTJo1p3KghALPnzmXfvTsB0KVLFz788MMCc5u65E+aZVahafXKlE9P44jWDflk9pI811QtX27L9vrN2Vu2f/1jDQfEWiBrV65AtQrlmLZkZdFenIbNg9d/5TLIycZ/+Bpr02Gby6zb0eR8MQqyN289mLUJ5v+a91gRVd6rI5vyfRZUP7zgz4LMo/ux8p1CPgtqFf2zYMovv9GsQX2aNqhH+XIZHNltfz756ts81zSuX5fdmjfdpkicOXcB2dk5dNmrHQBVKlWkUoUKRc5he2aOm8C6P1bs9OfdeSxJX9FQISmyc40DWu/MJyzXoAFZC7e2eGxetIhyDRokvrZxY8o1bcraCdsWLJU6dsTKlWPTnDk7Mz0WL1lKg/r1t+zXr1+PxUt3rEAr/DnrbX3OevW2KfoWL1lKw9g1GRkZVKtahRUr8xYGo0aPpe3uu1G+fPk8x1etXs2YcZ9z4L777FA+aXXrk7Nk688gZ8li0urWz3NNetNdSG/WnMwn/o/Mp4ZT7oCuwQkzql48iLUP3r1DsQpi1WvCyuVx38RyLLNm3osaNYfMWvjPeX+xA1CrLukX3kb6eYOh+W4Fxlm8eDEN4t5fCV/7pUtp2CD4/oPXvior/ly57c8twXth5KiP6Nv78C37bVq23FKofvDBByxcmK91Lz7u2g00qFJxy36DKhVZsnbDNtcNnzaH3i+M5Z6JP/PfrkGL3G51qvHJ7CVszslh/qp1/LB0JYvWbPvYQlWria+OK1BW/wnV8v0M6jcNfla/Tivac++AjPoNyPp96+uTtXAR5eoX/FlQvmlT1uzkz4Ily1fQoM7W1vb6tWuyePmOFW2zf19EtSqVufC2oRx3yWDueuYlsrNzipxDqWeWnK+IqJAU2UnMLAM4gq23syuZ2XdxXycnO4fMvn1Z9f77kJP3wzmjbl2a3HsvCwYNAvdkp1Ei/PLrb9w99BFu+u+gPMc3b97MpdfcwN9PPoGmTYp5izEBS08nvUkzVv7jTFZfN4iqV9+AVa1GxeMHsGnCOHKWLt5psRInYKQf9XdyRv7ftudW/0n2HReSPfRqskf+j/STL4QKlZKbTwKbsrL45LNx9Dms55Zjt15/DcNffZ3jTj2DtWvXblP0F8ep7XZh1N8O4dIDduPxSUH3g+N2b0KDqhU58bUJ3Pb5j+zVoGYSbqsaab1OJOeT13fy8xZdZr++rHwv8WdB03vvZX4EnwXZ2TlM+mEGV5x1Mq/ccz3zFi/lzU/Gbf+BUqKpj6TIX1fJzL6LbY8DckcxrHf3vQp7oJkNBAYCPP744wwcOHCba7IWLaJcw4Zb9jMaNCBr0aKEz5fZrx+/Dx6c51ha1arsMmwYi+++m/XffZfwcX9F/Xp1WbR4a5G0ePGSLbeW/9pzbr1luXjJEurXq7vNNQsXL6FB/Xps3ryZ1WvWUjMzE4BFi5fw70H/5Y4br6NZkyZ5HnfdrXfSvGkTzjx1x+v6nKWLSau39WeQVq/+NoVh9pLFbJ4+BbI3k7NwAdlz55DedBcy2nekXMd9qHj8KVilylCuHL5+HeseuW+H4wP4qhVYZtytyOq18ZVxLUHlK0L9pqQPjP38q2aSfvrlZD9/dzDgZt2a4Pjvs+CPxVCnYXA8n/r167Mo7v2V8LWvW5eFixbHvfZrqFkjc9ufW773wmefT2TP3XejTlz3ilYtmjPskQcBmLXkT8aOHVvga1C/SkUWxbVALlq7gXpxLZT5HdmmITeNmw5ARloaV3XZY8u5U9+YSPPMygU+NqHVK7BqNdlSflWrAfEtlBUqQJ1GpJ16abBfpTppx/+TnNcfCQbc/EWbFy+iXKOt78NyDRuQtTjxZ0GNfv34/bptPwuaPzOMRXffzfpvvytWDvVq12TRsq3dNhYvX0H92jULecRW9evUZPcWzWjaIGi17rX/3nz/869Q8N35sqmMDbZRi6TIXxffF/JCd9+0ow909yfcvbO7d05URAKsnzKFCs2bU65JE6xcOTL79WP1xx9vc135li1Jz8xk/eTJW45ZuXI0e+wx/nzjjaClMgna79mW2XPnMW/BAjZlZTFy1If0PKTbX3vOtrsze9585i34PXjOD0fT8+Cuea7peXBX3hzxHhDcwj5g330wM1atXs3ASwZx2b8vYJ+98vZfu++RJ1izZg3/veziIuWz+cdppDdtRlrDxpBRjgqHHcmmcWPyXLPps08ot/d+AFhmDdKb7UL2gnmsuf5KVvQ/lBXHHs7aoXez8b13ilxEAjD/V6xOA6hZF9LTSet4IP5j3OCdjevJvmUg2XdeRPadF8G8mVuLyCrVtv7yqlkPajcIiskE2rdvz+zZs7e+9qM+omf3vD/Pnt27xb32Yzhg386YGT27d2PkqI/YtGkT8xb8zux58+jQru2Wx4384EOOirutDbD8j6AoycnJ4dFHH+WUU04p8CVoVy+TOX+uZf6qdWzKzuH9mQvp0bxenmtm/7l2y/anc5awS6xYXJ+VzbqsoH/ihHnLSE+zPIN0dsjCOVCrHmTWhrR0rO2++MwpW89v3EDOg5eT8+g15Dx6Dfw+a6cVkQDrvt/2s2DVR9t+FlRoFXwWrMv3WbDL44+x4i9+FrRv04I5Cxczf/FSNmVt5r1xX9Jjv0479tjWLVm9dh1/rAz6EX855UdaNW1U7FykZFCLpEhJl53N79dfT/Pnn8fS0ljx6qts/OUX6v3nP6yfOnVLUVmjXz9WxgbZ5Kp+1FFU2W8/0mvWpMYJJwCw4PLL2fDjjzstvYyMDAZfOYhz/3kR2Tk5HH9MP9q0arX9B27vOQf9h3MvvJTs7GyOP7ovbVq15IHHnqTdHrvTq3s3TjimL4MG38xh/U8is3p17htyIwD/9/LrzJ03n4efeoaHn3oGgGEP3U9WVhaPDXuOls134djTzgLgtJOO58T+R28/oexs1tx9K5kPPAFpaWwY8SbZs36l8nn/ZvNP09k0bgxZX4yn/P4HUePFdyA7m7VD78FXFXEwR2Fycsh551nSz74aLI2cb8bCkvmkHXoCvmBW3qIyH2u+B2mHnRgM9HAPpv5ZvzbhtRkZGQwePJhz/3Vx8PPMfe0ffYJ2bXenV/eDOaF/PwZddyOHHX0CmZnVue+2mwFo06olRxzWiyNPGEB6ejqDr7qc9PR0ANatX8+EL7/ipmuuyhNvxAcfMfyV1wA4rHcfjj/++AK/j4y0NK7p1pbzRnxNjjvH7t6ENrWqMfSrGexZN5OeLeozfNocJs5fTkaakVmhHEN6Bn9M/LF+I+eN+IY0g3pVKnJ7r447/NJv4TnkfPgyaSdfBJaGT5kAyxZi3frhC+dAfFGZQNo/bg1ajtPTsTYdyXn5wW1HfBcmO5vfB19Pi+efD6b/eSXxZ0Fm3IC7XJlxnwU1Y58F8y+/nA0/FO2zICM9nWsHnsa5N9xNTk4Ox/XqRptmjXnwhTdo17oFPffvxNRffuPC24ayas1axnz9HUNffJMRDw0hPT2NQWedzFnX3YkDe7bahRMPP6RI8XfEOcOHseshXalapza3zfuRd68fwoRh/9vpcYqvbLVImqdIfymRZDGzNe6+zcR3Cab/+cDdr8p/XRwHmNaiRSGX7HztZs3Ke2DdTix+dlTlzLz7q5eFG79anTy7yw7YM9z4QJ0vpufZ33z1gFDjZ9z2Yt4DayMY9Vol7y3S7PsvCTV8+iX3541/+wWJL0xmDlflnRdyavNwPw/az877eZDz08RQ4wOk7Z53Sq4LrHqo8R/zVbmbyan4VixKTuFVs0EkFapaJEX+okRFZOx4eti5iIhICVfG+kiqkBQREREJS9mqIzXYRkRERESKRy2SIiIiIqEpW02SapEUERERkWJRi6SIiIhIWDTYRkRERESKpYwVkrq1LSIiIiLFohZJERERkdCoRVJERERERC2SIiIiIqEpY30kVUiKiIiIhKWMFZK6tS0iIiKSAsysj5n9bGYzzeyqBOcrmNnLsfNfmlnz7T2nCkkRERGR0FiSvrYT1SwdeBg4AmgLDDCztvkuOwdY4e6tgfuAO7b7vO6+3eAiEgr9ZxQRKTmScw967Z/J+ayvUqPQfM3sQOAGd+8d278awN1vi7tmVOyaiWaWASwC6nohxaJaJEVERETCYpacr+1rDMyL258fO5bwGnffDKwEahf2pCokRUqOv3Rfw8zO/6vPUdpziDp+Scgh6vglIYdUj18Scog6/k7KITkqZ1oyvsxsoJl9E/c1MGnfQxwVkiJlRygfGtsRdQ5Rx4foc4g6PkSfQ6rHh+hziDo+lIwcQuPuT7h757ivJ/JdsgBoGrffJHYs4TWxW9uZwPLC4qqQFBERESn7vgbamFkLMysPnAK8k++ad4AzYtsnAJ8U1j8SNI+kiIiISJnn7pvN7N/AKCAdGObu083sJuAbd38HeBr4n5nNBP4gKDYLpUJSpOzIfxsjClHnEHV8iD6HqOND9DmkenyIPoeo40PJyKFEcff3gPfyHRsct70BOLEoz6npf0RERESkWNRHUkRERESKRYWkiJRKZlYu6hxERFKdCkmRUs7MaprZnmbW0sxC/T9tZvXM7Fgz+5eZnW1m+4WYwwIze8rMepnt2Gy8O5OZNQs7ZoIcTjSzihHnsJeZnWBme0SZR6oys4fNrEvEObxnZqeZWdUo85BoqI+kSClkZpnAv4ABQHlgKVARqA98ATzi7mOSGL8HcBVQC/gWWBKLvyvQCngNuMfdVyUxh9oE01OcArQBXgdedPcvkhUzX/zJ7r53GLEKyeFNoAvBKMwXgVHunh1i/MHAacAkYH/gNnd/MsT4U0m8tKgB7u4dynL8WA4XE/wfaAi8QvB/4Ntkx82XwzGxHHoBYwneiyPdfVOIOVzh7nfGtk9091fjzg1x9/+GlUuqUSEpUgqZ2UfA88C77v5nvnP7AH8Hprr700mKfxcw1N3nJjiXAfQF0t399WTETxCzEcFIw1OAesBL7n5NkmN+6+6dkhljB/OoDhxL8L3vBbxNUEx8GkLs6cC+7r4uVth/4O77JjtuXPxdcjeBkcCR8efdfU5Zjp8gl1NiX5UIirkX3X1GiDlUBvrFcjgQeB8Y7u4fhRB7yx92+f/IKwl/9JVlKiRFpMjMrIG7L4o6j3ix22rHAZcCDd29fpLjLQFeKui8u1+UzPiJxLXS/hOo5e5Nt/OQvxov/y/sSe6+TzJj7mguqRY/npl1AoYBHdw9PaIcOgDPhZVD/B92+f/IKyl/9JVVmkdSpBQysx+A4QQtDr9GkMJ3ZjaNoNXj9fytomGJ9Q/sR3CL/yDgA4Jb7klvAQHWE9zSTST0v9DNrCZBIX0yQZeD10II29LMclfGMKBV3D7ufnQIOQhb7gQcQd5bzDeEnEN94CTy3mo/M6TwXsB2on3ZidQiKVIKmVlHgg/rkwjWQX0ReNndfw8pfjpwaCyHIwn6Zb4IvO3u60PKYXgsh08JWgZHxibTDUVBLVBm1g04xd3/FUIOVQluaw8AOhEsb/YSMHZ7y5rtpPjdCzuf7NvrZhb/+r8AnEpQ0ObGn1yW48dyOIzg538k8BXBz/9td1+b7NhxOZwXy2E3gr7KL7n7hLDix3LIBtYSvP6VgHW5p4CK7q5ZHpJEhaRIKWdmBxC0Qh0P/ErQJynMAQ/l2doS0gMY7e5/CyHu6cCb7r462bEKiP+Fux8Q2+5EUEScCMwiaKV9KIQclhG0wr5EMNAmK9kxd4SZNSUopu9KcpzCBpS5u/csy/FjOXxCcHfidXdfkex4BeQwjOAPydHunhNFDhIdFZIiZYSZHQLcB7R19wohx25D0CJxGrCmpPQVSyYz242geB4ALANeBi53910KfeDOzaFSWC3A22NmdQkK6QFAI4Ii//Jos5JUEevmcgHQGphCsI705mizSg2aR1KkFDOzfc3sXjObQ9Af6nGCX+JhxG5qZoPMbDIwguDz5OhUKCJjfgR6An3dvau7DwVCm3oHIOoi0syqmdkZZjaK4LZqK6CFu7eKsog0s8NiMxukZPwU9RzQGZhKcJv/nmjTSR0abCNSCpnZEILb2X8Q3Nbs4u7zQ4w/AWhM0Jn+PHcvaNBJMnNoFFaf0AIcR9AiOcbMcm8vhz4xesSWEBSQ1wLj3d3N7NiwgptZT+Axgj+e3gLuAJ4h+DncWtbjSx5t3b09gJk9TfC+lBCokBQpnTYAfdz9l4jiXwWMC2NARyGeMrNaBKNTPyAoZEK7leXubwFvmVkV4BjgEqCemT1KcFv3w2TnYGZXE8zdGOoE1HGuJiimHwFeNLOXQ45/DzAQmEjQT3cicFUY/VNLSPwSwcwmAeMJ5o0cG+agtzhb+ge7++YIFrtKWeojKVIKmVlXdx9fyPnqQDN3n5ak+NcCDxfUuT/WUlPZ3UckI35cnIrAIQS/xLsAcwmKyg8STZaebLEpeE4ETnb3XiHEO5nge+8IfE/wi/zDsAddmFlLtvYXbQNcT1BMJ3Uy7ATzWP7s7rslM2ZJil9SxKYe6gr0IRhwt5xgtaX3w5oQPW7UNuQduZ27ylD1MPJIRSokRUohM7uPYEm6DwjmMsxdIrE1wQf5LsBl7v51kuIfA1xB0DI6OS5+G4LVVT4Ghrj70mTELySvFgSFVR+ggbvvF2b8KMVGjvcBDgfSCX4GH7h7qLf4zKwdQUF5sru3TnKs34D4vph3AYNyd9z9jbIcv6SKrTTVJ/bVCvjS3f8ZbVaSLCokRUqp2G3d4wla4hoSTJD9I8F8igW2Vu7kHNokiP9Z1INAIJiWyENc67ckibVIHwb0dveBUeeTLGb2TCGn3d3PLsvxSwMzSwMOdPfPo85FkkOFpIjsVGaWoWk3RERSg6b/ESmFzOz+uO2L8517NoT44+O2/5fvtEZLioikCBWSIqXTwXHbZ+Q71yGE+FXitvfMd07DJVOEmT1hZseaWbWocxGRaGj6H5HSyQrYDkthfWJC6y9jZgcSrKbTja39NKcBI4H/c/eVYeUSpVg/tI4E8xmuB6a5+5IQQj9NMLjpUjPbBHxIMMDn+xBil4S5RCUmNoNCX4L/i1vehwR9tqdHmZsklwpJkdIpLTbVTFrcdm5BmR5C/BqxiafTYtvHxY4bkBlCfMzsfeB34G2CyZ+XEIwc35Vg5PrbZnavu78TRj5RMLNWwJXAocAvbB09v6uZrSNY6ei5ZK1/7O5fAl8CN5hZbYIR45eZWXvgW4Ki8pVkxI6JdC5RADO7xd2vNbOb3H1wmLFLCjO7EegHjCF4P8T/X7w9VmRe5u5TostSkkWDbURKITObDeSQuDXS3b1lkuMXNloVdz8rmfFjOdRx92V/9ZrSzMxeBB4lweTwZlYPOBVY4e7PRZDbPgST5id1hZeo5xKNTYV1ODCqLP/RUhgzO8rdRxZyvh7BvLbfhJiWhESFpEgZY2aN3X1BhPGPd/fXQ4jzMDA8lacVMbNy7p61/StTR5hziZrZ9UAt4O/A88Af7n5TsuKVZGZWl2D+2pnu/mfE6UiINNhGpOyZGHH8+0KKMwO428xmm9mdsQm5U80CM3vKzHqZ1oQDwN1nufsj7n40wWoryYx1Y2zzwNh+qhaR5wLTgaHAT2Z2dMQpSYjUIilSxpjZPHdvmirxzWwXguX5TiFYFu1F4MWwlmaLUqxf4gkE33sb4HWC7/2LSBNLIWa2l7t/Z2YdwxpkVNKY2TSgh7svjS2X+YK7Hxh1XhIOFZIiZYyZzXX3ZqkYP9YqOQzo4O5hDDoqMWLL0p1IUFTWA15y92tCil2PoH9i/Gjdb5I1yEdKlgRrjufZl7JNhaRIKWRmQ0k8zY4BZ7h79STHn1pI/F3dvUIy4+fLJYOgT9wpQC+CEbwvuvvbYeVQUphZVeA44FKgobvXT3K8HsBVBP0EvyXvaN1WwGvAPe6+Kok57EWwxvx0d/8xWXGkYGa2BHgp7tAp8fvuflHoSUloVEiKlEJmln8S8jySPUo3dju5sPhzkhk/lsNhwADgSILVdF4C3nb3tcmOXZLERi33I3gtDiIYsfwS8JG7Zyc59l3A0ESjo2MFfl8gPVmDr8xsMME8opOA/YHb3P3JZMQqIH6zMEaGl3RRfx5JtFRIikipZGafEPSHfM3dV0SdTxTMbDjBHJKfEhSPI919Q4jxG7j7orDiJYg/HdjX3dfF+ot+4O77hhhft3ALkftHjru/GnUukjyakFykFDKzdylkBZnYiNVkxl9dQHwLwif31nrMMe6+urALzKyqu68JIZeofACcv73XIYm+iw20eBF4PYJpXza6+zoAd18eW+EnTBopn4+ZpQO9CVrIDwfGASokyzAVkiKl090Rx69VAuYvfMvMviNY2WZS7i3t2KjRHsBJwJME/fTKqhygwEI5tvJNQ3cfn6T4jQlaRE8BhpjZFwRF5dvuvj5JMeO1NLPcScANaBW3n/Q/qIDGZvZgQSdTqW+gmXUnmAA/t6tJF6BFbqEvZZcKSZHS6Sx3PzPC+F8Ckd7Sc/deZnYkcD7QJbZM5GbgZ4K1ts+I8rZrSGoTtApOIugnmLtEYmugO7CMYDBMUsT6YI4CRplZebYOerrfzEa7+9+SFTvmmHz7Yf+BtZ7gdU9pZjafYEWhR4HL3X21mc1SEZka1EdSpBSKum+WmX3r7qk4AXiJE7uV2JOgBaghQXHzI/B+2ANBzKwNwS3N04A1Ub1HzawpcIq735XkOOojCZjZ/UB/gmmfhhPcJZia7KVapWRQISlSCpnZTwS/sBP20XL3yUmOPx+4t6Dz7l7guZ2Yw2nu/n+x7S7xSyWa2b/d/aFk5yBbizaC92MVglvbL7n7TyHnUZdgHs0BBPNZvunulyc55hfufkCC412BAe7+r2TGL0liKysdwtaZFDKBc4D3yng/5ZSnQlKkFIoNdvmaxIWku3vPJMdfSHAbq6BC9sZEx3dyDltag1J1QmQze8XdT4pt3+HuV8ad+9DdD09y/AkE/SRfISgeQ73Na2bVCObNPJVg7so3gJPdvUmYecRy6RTL40RgFvCGuw8NO4+SwMzKsXXATW93rxNxSpJE6iMpUjrNTHaxuB0LS8C6wlbAdqL9sqpN3PZhwJVx+3VDiH8VMM6ja5FYQjCw41pgvLu7mR0bVnAz25WgWBpA0B/1ZYIGmh5h5VASxQbijQBGmFmlqPOR5Ap7qgQRKRtKQqHmBWwn2i+rCvs+w3gNDgZqFHTSzHqaWd8kxr8aqAA8AlwdG6Uepp8I+qf2dfeusRbIpE4CXxKZ2btm1i/WEplfQzO7yczODj0xCYVaJEVKpysijh9la2iu3c1sClunfZkSO25AqnTyrxy7pZoGVIptW+wrjJagqQStThuAyWwdNd4G2Av4GBiSrODufj/BCPGWBP003wIamdmVBH0kZyQrdsxxsbhjzCx3RaGS8EdW2M4jWJbzfjP7g63vgxbATOChVFyyNFWoj6RIKWRmYyi4xcndvVeS48dPSJ77i9MJ/jgt7+5J/yO1JCzTGLXY+6AgSe8rG5dHG7YdNf5ZSHNJ5s+lHcGt5pPdvXVIMasQTEU0gOCPrOcJCtkPw4hfkphZc7a+D2ZoCqCyT4WkSClkZvskOHwAQUvlkjCXiYvlUxX4F8Gcjm+6+2Vhxk+Qz+fu3iXKHKJmZvu7+5cRxs9w981RxY9KbD7TEwkK2aT+QVdSmNnuuaP0zayCu2+MO3eAu38RXXaSbOojKVIKufuk3C+gKnAHQWvIBSGvNVzDzG4ApgDVCNY9jrSIjGkWdQIlQNKXpTOz8XHb/8t3+qtkxy+J3H2Fuz+RKkVkzPC47Yn5zj0SZiISPvWRFCmlzKw3wWjVjcCt7l7Ybc6dHbsOcBlwMjAM6OTuK8OKvwN0qyWcvnpV4rb3jCC+lAyaQSGFqZAUKYXM7GuC6V3uItYCYGZb5k1M9oTkwByCDvXPAOuAc4L5iLfED2NC8uMKOkU4A01KujCK6ahHjWNmHdx9ipm1d/epYcSUbWgGhRSmQlKkdFoLrAFOiH3Fc5I/qvoutv6CqJbkWAXpV8i5EaFlESEze5fEv6iNYB3uZKsRm7cxLbadW9wbwcomYTjbzB4mWEXlkpBiSl5NzOxBgp977jax/cbRpSVh0GAbEZFSysy6F3be3T9NcvxnthP/rCTHv56gYP4b8AKwrARMlJ9yzOyMws67+3Nh5SLhUyEpUgqZ2RXufmds+0R3fzXu3BB3/2+S40e6NF8szqWFnQ/j9roUzMyOd/fXQ4hzNNAHeN/d3012PCkaM7s72WueS7Q0alukdDolbvvqfOf6hBA//9J88cJYmg+CW+qFfZV5ZjbVzKYU9BVxeveFFGd/d/8nsF9I8aRoToo6AUku9ZEUKZ2iHiUZ+SALYLm7PxRSrJIqmcsP/lWhjNZ192ti/14XRjwpMo3aLuNUSIqUTlGPkox6aT6As4FULySfDKMbQTGp31SKMLNaBZ1ChWSZp0JSpHTqaGariBVusW1i+xVDiL8IuDfBdu6+hCOsbgQJmdlUCh41Xj/kdCQ6kwjeB4mKxqyQc5GQabCNiJRKZraZYA7LbU4RrDNdPeSUQmdmvwEFDmRw9zeSHD/S9c7DGFgmIoVTISlSCpnZvkAdd38/3/EjCNbanpTk+KcRfH78L9/xvwPZ7j488SN3ag7fununZMcpycxsOfA2iVuC3N3PDjmlUJnZZHffe/tXSjLFL4aQSAgLJEiEVEiKlEJm9glwVv4Wn1gL0TPuntQJyc3sS6CXu6/Jd7wK8Jm775PM+LFYKiQjLqTMbDUF39pOequwmX0PHEIB/fDc/Y9kxpeAmRW2PKsn+/NIoqU+kiKlU7VEtw3dfU5sHexkK5e/iIzFX2tm5UKID/Dq9i8p86IeyFDL3aPsA7c7Qf+8hC2yQMtw00lZ/3X3iVEnIdFQISlSOtUs5FzlEOJXMrMq7r42/qCZVQPKhxAfoJyZDS7gnLv7zSHlEaXTIo7/JRDlreUfUr1VuoR4mGjfBxIhTUguUjp9bGa3mtmWlhgL3AR8EkL8p4HX4gdbmFlz4KXYuTCsIVhzPP7LCdZcvrKQx5UlI8zst7ivWXHbv4YQP+oW0QKZmUaNh6fEvg8k+dRHUqQUivVFfIpgNY/vYoc7At8A5ya67ZyEHC4gWFWnauzQGuB2d3802bET5FINuJigiHwFuMfdl4SdR9jMrHa+Q2kEK4lcDkx29+OTHH8+ead+yiPZy1Sa2Znu/mzcfg3geOBUYA93b5TM+BIwsz+Bzwo67+5Hh5eNhE23tkVKodgt5QFm1hLYM3Z4urv/ZmbNCIq6ZOfwGPBYrIjD3VebWZqZ/c3dX0h2fNgyEfKlwN+A54C93X1FGLFLAndfDmBmacDfgUEEf1gc5e4/hJBCOsEfEpG0SLn7s2ZWCTiGoHjsRLA8Zn8KKWxkp1sK3BN1EhINFZIipZSZHQg0JhglvcTMOpjZcKAb0DTJsasD/4rFf5vgVvu/CVrCvgeSXkia2V3AccATQPswWmFLmtjAprOB/wDjgf7uPjPEFBa6+00hxssj7v3+ITCUoFvHTHcfG1VOKWqNu38adRISDd3aFimFYkVUX4LWp9bAKOBc4DbgcXffkOT4bwMrgIlAL6AeQavUxe7+XTJjx+WQA2wENpN3CppUmpB8PsH3fz8wN//5ECYkj3QKJjP7juB2/vPAS+4+38x+c3eN1g6Rmb3h7sdFnYdEQ4WkSClkZj8Q3MbdYGY1gXlAO3efHVL8qe7ePradDiwEmiW7gJW8zOxZCl7TOukTkptZzai7EpjZ7sAA4GRgGbAbwf+FxVHmlUrMrDuFrK3u7upmUIapkBQphfJPRB12y1CC+KFPjG1mPd39k9h2C3efFXfuuGS3xsk2E5Ln9pN0gm5T5d091O5TZrYPQVF5EjDf3Q8KM36qMrN3Exx2oAPQ1N3TQ05JQqRCUqQUSjBK8uD4/WSPkjSzbILpdiAoICoRrHsd2m3l+OK1JBS2UTCz+939ktj2xe7+QNy5Z939zJDzqUrQd/Z84E13vyzM+HF5GNBNLWHRMLMuwLUE893e6u6JCk0pIzTYRqR0OibffqgjJktIC4MVsJ1ov6w6OG77DOCBuP0OYSURm3bnEuB0YDiwb+6I8ih40EKiIjJkZtYLuI6gNXKIu38UcUoSAhWSIqXTt+6+KtGJ2PQ/SVVCbit7AduJ9suqworp5AcPluO8jKB/4jCgk7uvDDsPiZaZHQVcA6wErnX38RGnJCHSrW2RUijfbd3R7t4r0bmQ4kdyWznu9r4RTAGT2wJlQFd3L2wZyTLBzL4HDiEYufxJbDu3oBzj7h2THH8twRyCzwCr858PYULyA4EvXL/IIhWbQWE+wdRf2/wsNCF52aYWSZHSKb71qVYh58KIH9Vt5fjb+3fnO5d/v6zKBCax9TWfHHcujOLqrrg41UKIl9/pwMNmNgP4APjA3RdFkEeq6xF1AhIdFZIipVPUt3Wjjg/wA1A3/wouZtaWoJWszHP35hHHvyHi+P+ALVMAHQE8a2aZwBiCwvJzd8+OMMVUEWlXG4lWWtQJiEix1DOzS83ssrjt3P26IcRvaWbvxKb9yN3O3W8RQnwIVjKpk+B4bfIOOimzzKy3mZ2Q4PjxZnZYCPFfidu+I9+5D5MdP5e7/+Tu97l7H6AnwSo/JwJfhpVDihubu2Fmo/OdeyvUTCR06iMpUgqZ2fWFnXf3G5Mcv/t24id9uTQz+8bdOxdwbpq7t0t2DlEzs88JlkVcmu94HeBddz8wyfG3zF8a9dymEp1874M8P3e9D8o+3doWKYVyC0Uzq+PuyyKI/6mZ7UWwPON0d/8x7BwovE9eudCyiFaF/EUkgLsvM7MqIcQvrCVCrRSpoyR0dZGIqJAUKYXMrC/BSNms2IjJk9x9QojxBwOnEQz0uNPMbnP3J8OKHzPTzI509/fy5XYE8FvIuUSluplluPvm+INmVo5gkvhkq2xmnQi6SVWKbRtbJ6mX1FDPzC4l+LnnbhPbD6OrjURIt7ZFSiEzm0JQPP5kZvsDd7p7obebd3L86QSTTq8zs9oEo2X3DSt+LIc2wEhgAkFBC9AZOBDo6+4zwswnCmZ2O1Af+Le7r40dq0rQR3SZu1+Z5PhjKXyN5aSP5jWz/gQt41PdfVSy48m2ou5qI9FSISlSCkW9JGCC+JPcfZ+w4sfFrQCcCuT2h5wODHf3DWHnEgUzywBuAc4F5sQONyOYHPya/C2VZY2ZPQLsSfDHRC+CfqE3R5uVSGpRISlSCpnZfCB+sudL4/dDmAj6T/JOAB4/IXhoExCbWTpQM7efqJmVJ1gq8FJ33yOMHEoCM6tE0CoHMNPd15tZF3f/PMlxTyP4PfK/fMf/DmS7+/Akx58GdHT3bDOrDIyL4g+aVGdmdxG87x7Pd/x8oIW7XxVNZhIGFZIipVDUt5JKyKjtU4DHgbXAL8CtBC1xXwM3u/vkQh5eJsQK6ZOAxgTdC6bF+s/+F6iU7NGyZvYl0Mvd1+Q7XgX4LNlFXdQt8xIws0lA5/wrDJlZGjAlFWZQSGUqJEWkVIq1RvV395lmtjcwETjB3d+NOLXQmNmzQFPgK2B/4HeCfqJXuftbIcQvsHAzsynu3iHJ8dcBM3N3gVaxfQM82fElUNh0W2Y23d33DDsnCY9GbYtIabXJ3WcCuPtkM/sllYrImM5AB3fPMbOKwCKglbsvDyl+JTOrkjvQJ5eZVQPKhxA/ZbovlHDrzayNu/8SfzA2IG59RDlJSFRIikhpFT/NCECN+P1k9xMtITa5ew6Au28ws99CLCIBngZeM7ML3H0OgJk1Bx6OnUuq3Jj5mVlXYADwr2TnIAAMBt43s1vIO4PC1cAlUSUl4dCtbZFSyMwOBL7I3ycp5BwauvtCM2vg7osiiJ/yU46UhFu7ZnYBQcFQNXZoDXC7uz+a7Nj58uhEMIL/RGAW8Ia7Dw0zh1RmZu2AQeSdQeEud58aXVYSBhWSIqWQmT1K0CduBvABwUCLUIs5M3uSoIC41d3PDzO2BMxsl8LOF9Ril6RcqsViro4Nshjg7i8kOeauBC2PA4BlwMvA5e5e6Osi4Yj9fAa5+3lR5yLJkxZ1AiJSdO7+j9gghxuAmsCzZjbRzIaY2cGx0bxJY2ZnAHMJBnnMM7PTkxmvgBxeidu+I9+5D8POJyKV3H1OrGBclLsd22+Y7OBmVt3Mrjazh4ADgDVm9m+ClYVOSnZ84CegJ8EE9F1jLZDZIcSVOGbWwcw+NLNpZnazmTU0s9eBT4Afos5PkkuFpEgp5u4/uft97t6H4BfqeIJbe18mOfRYgmLhh9i/SZ/uJ4E2cduH5TuXKsuyxc/TODHfuUdCiP8/YDdgKnAeMIbg/dff3Y8JIf5xwEJgjJk9aWa9CG7rS7ieJHgvHg8sB74DfgVau/t9EeYlIdBgG5Eywt3XA+/FvpIda46ZXQ0cDTyU7ImnC0qjmOfKEitgO9F+MrR09/YAZvYUQVHXLKyVhWJTHL0Vm7fyGIKBHfViXT/edPdUaZmOWgV3fza2/bOZXeTuV0SZkIRHhaSIFIu7XxDb/GdEKVSODbBII5iGphNB8WRApYhyCpsXsJ1oPxmytgQLVpeZH8XylLHph4YDw82sJkGr6JWACslwVIz7/wewMX4/FRYHSGUabCMipZKZjaWQYsnde4SXTTTMbAnwEsEv7JNj28T2T3L3+kmOn02wslBuzErAOraOGq+ezPhSMmzn/6K7e88Q05GQqZAUKYXM7GFgeLLXUpaSLTboqUDu/lxYuYhIatJgG5HSaQZwt5nNNrM7Y7eRUoqZtTGzt2IjRV80s8ZR5xS2WKH4HsGcfW+7+3PxX8mOb2Y947Zb5Dt3XLLjS8lgZlfEbZ+Y79yQ8DOSMKlFUqQUi80jeErsqxLwIvCiu88IIXZFoC/QDWhEsBTaNGCku08PIf444HngM4JBPwe6e0oVL2Z2LjCEYIRsC2Cgu78TYvwta23nX3e7sHW4pWzR+yC1qUVSpBSLzRl4h7t3IpiUuT/wY7LjmtmNwATgQIKphh4HXgE2A7eb2UdmluxVVaq5+5Pu/rO73wU0T3K8kugSYE93PxA4iGCC+DBFPWpcSga9D1KYRm2LlGJmlgEcQdAi2YtgfscbQgj9lbsXtEThvWZWD2iW5BzyjxSNH7mdKiNFN7n7UgB3/83MKoQcP+pR41Iy6H2QwnRrW6QUMrPDCFogjyRYXeYlgj5yawt94M7NoS6wCzDT3f8MK25c/DGFnE6JkaJxo7ZznRK/7+4XJTn+nwRdC4ygi8NnuaeAru5eM5nxpWSIG70fP3Kf2H5Fdy8XVW6SfCokRUohM/uEYN681919RQTxI+2bJ4GoR22bWfftxI9ixSMRCZEKSREpMjObBvRw96Vm1hJ4IdZPT1KMme0FtAamu3vS++dKyRMbeHcBwftgCjDM3TdHm5WERYNtRKQ48vTNA8LumyclgJkNJhhkdTww0szOizglicZzQGeCNdePBO6JNh0Jk1okRaTIou6bJyWDmU0H9nX3dWZWG/jA3feNOi8Jl5lNjVtzPYNgMJ6m/EkRGrUtIsUxKN/+pCiSMLOL3f0BM7vQ3YdGkUPUzKyCu2/M/Tfk8BvdfR2Auy83M93lSk3xa65vNtOMP6lELZIistPE+kr1c/dXQ4p3DlALWO7uw8KIWdKY2TPAP4CH3f2ckGP/Sd6R2vEjt3H3o8PMR6KhNddTmwpJEflLzCwd6E0wHdHhwDh3PyGEuNcDlYGLgQeAte5+U7LjliRmdjDQHjgTeAaY5u6fFfqgnRtfo7ZFUpxubYtIscSKiFPZOpdlF6BF7q3OZHP3G83sFuAwoHeqFZExRjDhcyT3ElUoioj6s4hIkZnZfOA2YDzQ1t2PB9aHVUTG+czdxxGs6JNyYoXcfgS3lDuH2RopIgK6tS0ixWBm9xOs6z2NYGL0t4Gp7t4ywrRSkplVdPcNuf9GnY+IpBYVkiJSLBYMzTyErUs1ZgLnAO+5+5oIU5MQmVlDd19oZg3cfVHU+YhIuHRrW0SKxQNj3H0gwTKJA4BjgNmRJiZhu8nM6gA3Rp2IiIRPhaSI/GXunuXuI9z9b0DTMGKa2XtmdpqZVQ0jXklkZg0ijn8GMJdgsNU8Mzs9ynxEJHwqJEWkyMzsXTPrZ2blEpxuaGY3mdnZSU7jceAo4Dcze8XMjjWz8kmOWdJ8Z2Yfm9k5ZlYjgvhjgd+AH2L/ahS3SIpRH0kRKbJYS9ilBGss/wEsBSoS3OKeCTzk7m+HlEtloB/BMo0HAu8Dw939ozDiRyk2h+ehBN/7kcAXwIvA2+6+PqQcHgP+SfAz/2cYMUWk5FAhKSJ/iZk1BxoC64EZEUwBFJ9LB+A5oIO7p0eVRxRirbFHEBSVPYDRsa4GIiJJo1vbIlJkZrZ73O5Cd5/o7t+5+zozOyDkXOqb2YVm9jnwFjAK2DvMHEoCd99EcIv5R2AVsEe0GYlIKlCLpIgUmZlNdve9828n2k9iDucRjBTfDXgdeMndJyQ7bkljZk0JWiEHAFUIbm2/5O4/RZqYiKQELZEoIsVhBWwn2k+WAwlW1xnt7jkhxSxRzGwC0Bh4BTjP3SdFnJKIpBgVkiJSHF7AdqL95CTgnuxR4aXBVcA4j+jWkpkNpZCft7tfFGI6IhIBFZIiUhxNzOxBgtbH3G1i+42jSyu1lIC1tb+J274RuD6qREQkGuojKSJFFpuIukDu/lxYuUjJYGbfununqPMQkXCpRVJEiqywQtHM7g4jBzObBIwnmDdyrLtvCCNuSWJmBwJfRHVrO5+SkIOIhEzT/4jIznZSSHH2B94EDgE+jS2ZeLGZ7RpS/JLgdGCSmb1kZmdGvWSiiKQe3doWkZ3KzOa5eyjrbeeL2wjoE/tqBXyZKiutxOb1PALoDWQCY4APgM/dPTuJcVeztSWyMpA7Gb0B7u7VkxVbREoGFZIiUmRmVqugU8D37t4kzHy2ScIsDTjQ3T+PMo8omFklgpVtjiB4DTpHnJKIlGEqJEWkyMxsFkFLVMI5I929RbgZSUliZjWAf7n7rVHnIiLJpcE2IlJkKhQFtqyqcx3QiGB5yheBmwj6bg6PLjMRCYsKSREpMjMrdAlEd58cVi4SqeeBTwmWqOxDMK/kd0B7d18UYV4iEhLd2haRIjOzMYWcdnfvGVIeFYG+QDeCVrH1wDRgpLtPDyOHqJlZf6A1MNXdR4Uc+3t37xi3Px9olqpLVoqkIrVIikhx/NfdJ0aZgJndCPQjGKH8JbAEqAjsCtweKzIvc/cp0WWZXGb2CLAnMAG42cz2c/ebQ86hJlv7yi4HMs3MANz9jzBzEZHwqUVSRIrMzCa7e6G3t0PI4Sh3H1nI+XoErWPfFHRNaWdm04CO7p5tZpUJ1t3eJ8T4s4EcEg+6cndvGVYuIhINtUiKSHEkHK0dJncfaWZ1gV2Ame7+Z77zSwhaKcuyTbnzRLr7utyWwLC4e/Mw44lIyaMWSREpMjP7E/isoPPufnQIOZwLDAF+BVoAA939nWTHLUnMbB0wM3eXYCL2mWydELxDVLmJSGpQi6SIFMdS4J6Ic7gE2NPdl5pZS+AFIKUKSWCPqBMQkdSmQlJEimONu38acQ6b3H0pgLv/ZmYVIs4ndO4+J9FxM+sKDAD+FW5GIpJqVEiKSHHMijoBoImZPVjQvrtfFEFOkTGzTsCpwIkEP583Qog5CRgPvA+MdfcNyY4pIiWL+kiKSJGZWXeCJRITcvcC+0/uxBzOKOy8uz+X7ByiZma7ErQ8DgCWAS8Dl7v7LiHFzwC6EkxG3oNg+p9RwPvuPiOMHEQkWiokRaTIzOzdBIcd6AA0dff0kFPaIjZ/ZD93fzWqHMJiZjnAOOAcd58ZO/ZbVNPumFkjgqKyD8HAny/d/Z9R5CIi4VAhKSJ/mZl1Aa4FagK3unuiQjOZ8dOB3gQtc4cTzKd4Qpg5RCG2qs0pQBfgA+Al4KmSsBa6maUBB7r751HnIiLJo0JSRIrNzHoB1xG0Rg5x949Cjt+doF/gkcBXBAVVS3dfF2YeUTOzKsAxBIV0T4I1sN909w8jTUxEyjwVkiJSZGZ2FHANsJKgBXJ8BDnMB+YCjwJvuftqM5tVElrjohRbsvBE4GR37xV1PiJStqmQFJEii/XNmw98T4JBNyFNSH4/0B+YBgwH3gamalk+EZHwqJAUkSKL3VIuUFhzTMaWBDyE4JbukUAmcA7wnruvCSOHVBcb3NQX6AY0AtYTFPcj3X16lLmJSPKpkBSRIjOz6u6+qoBzzdx9bgQ5lWPrgJve7l4n7BxSjZndCPQDxgCTCNY2rwjsSjAdUEXgMnefElmSIpJUKiRFpMjMbLK77x3bHh3fFy/+XFTMrJK7r48yh1RgZke5+8hCztcDmrn7NyGmJSIhSos6AREplSxuu1Yh55KXgNm7ZtYv1hKZX0Mzu8nMzg4jl1Tl7iPNrK6ZdTazGgnOL1ERKVK2qZAUkeLwArYT7SfLeQT98n4ys6/N7D0z+8TMZgGPA5PcfVhIuaQkMzsXmA4MJfg5JH2QlYiULLq1LSJFFpt6516C1sf/xLaJ7V/i7k1Dzqc50JBgoMeMVJtHMipmNg3o4e5Lzawl8IK7Hxh1XiISnoyoExCRUulJoFqCbYCnwkjAzHZ3959iuwvdfXbcuQPc/Ysw8khxm9x9KYC7/2ZmFaJOSETCpRZJESmV8g34yTPApyQM+EkFZraEYFnGXKfE77v7RaEnJSKhUoukiBSZmd0FzHT3x/MdPx9o4e5XhZFGAduJ9iU5BuXbnxRJFiISGRWSIlIcPYErEhx/EpgChFFIloQBPynN3Z9LdDw2SXm/kNMRkQiokBSR4qjgCfrFuHtObLWZMDQxswcJWh9zt4ntNw4pB4kxs3S2Tgh/ODAOeDXSpEQk6VRIikhxrDezNu7+S/xBM2tDMHI6DPG3VfPPVai5C0MSWy7zVIIlKr8CuhB0b9DIeZEUoEJSRIpjMPC+md3C1n5xnYGrgUvCSKCg26oAZnZ3GDmkutg0UHOBR4HL3X21mc1SESmSOjRqW0SKxczaEbQKtosdmg7c5e5To8sqYGZz3b1Z1HmUdWZ2P9AfmAYMB94Gprp7ywjTEpEQqZAUkZ3GzHYFBrn7eRHnMS/sSdFTVaxP7CEEfSOPBDKBc4D33H1NhKmJSAi0RKKIFJmZdTCzD81smpndbGYNzex14BPgh5ByqFXAV200/U9oPDDG3QcCLQgKymOA2ZEmJiKhUIukiBSZmX1J0C9uInAEQd/I54DB7r4hpBxmEUzzk7BodPcWYeQhiZlZJXcPa+CViEREhaSIFJmZfefue8Xt/6Z+canHzN4FngA+cPesfOdaAmcCs919WATpiUgINGpbRIqjopl1Ymtr4Mb4fXefnOwEzKzQJRDDyEE4D7gUuN/M/gCWAhUJbnHPBB5y97cjzE9EkkwtkiJSZGY2loJXj3F37xlCDmMKOR1KDrKVmTUHGhLMIzpDUwCJpAYVkiJSKpnZge4+Meo8UpmZ7e7uP8W2K7j7xrhzB7j7F9FlJyJh0KhtESkyM7sibvvEfOeGhJTGwyHFkYINj9vOX9Q/EmYiIhINFZIiUhynxG1fne9cn5By0BQ/0bMCthPti0gZpME2IlIcJaGAaGFm7xR00t2PDimPVOYFbCfaF5EySIWkiBRHSSgglgL3hBRLEmtiZg8S/PGQu01sv3F0aYlIWDTYRkSKzMyygbUEBUMlIHeErgEV3b1cCDl86+6dkh1HCmZmZxR23t2fCysXEYmGWiRFpMjcPT3qHIBZUSeQ6gorFM3s7jBzEZFoqEVSRIrMzCoCFwCtgSnAMHffHHIO3SnkNrq7fxZiOpKPmc1192ZR5yEiyaUWSREpjueALGAccCSwJ3BxyDlcnuCYAx2ApkBJaDVNZRq1LZICVEiKSHG0dff2AGb2NPBV2Am4e7/4fTPrAlwLLAIuDDufVGRmtQo6hQpJkZSgQlJEiiMrd8PdN5tFVzOYWS/gOoLWyCHu/lFkyaSeSQSve6I3QFaCYyJSxqiPpIgUWdyobcg7ctsI1rmuHkIORwHXACuBW919fLJjiohIXiokRaRUMrMcYD7wPQkG3WhC8uQzs70LO+/uk8PKRUSioVvbIlJa9Yg6ASl0QngHeoaViIhEQy2SIlIqmVl1d19VwLlm7j437JxSjZkd6O4To85DRKKTFnUCIiLFNDZ3w8xG5zv3VqiZpK6Ho05ARKKlQlJESqv4kcL5p6HR1DPh0OsskuLUR1JESisvYDvRviRHCzN7p6CTGvAkUvapkBSR0qqemV1K0CqWu01sv250aaWUpRQ+4EZEyjgNthGRUsnMri/svLvfGFYuqcrMvnX3TlHnISLRUYukiJRKKhRLhFlRJyAi0VKLpIiUSmZ2FzDT3R/Pd/x8oIW7XxVNZqnDzLpTSH9Ud/8sxHREJAIqJEWkVDKzSUBnz/chZmZpwBR3bxdNZqnDzN5NcNiBDkBTd08POSURCZlubYtIaVUhfxEJ4O45ZqZpaULg7v3i982sC3AtsAi4MJKkRCRUKiRFpLRab2Zt3P2X+INm1gZYH1FOKcnMegHXEbRGDnH3jyJOSURCokJSREqrwcD7ZnYLMCl2rDNwNXBJVEmlEjM7CrgGWAlc6+7jI05JREKmPpIiUmqZWTtgEJDbH3I6cJe7T40uq9RhZjnAfOB7Egy60YTkImWfCkkRKVPMbFdgkLufF3UuZV1s1HaB3P3TsHIRkWjo1raIlEpm1gG4G2gEvAk8AjwE7I9WWwnLt+6+KtEJM2sWdjIiEr60qBMQESmmJ4HhwPHAcuA74FegtbvfF2FeqWRs7oaZjc537q1QMxGRSKhFUkRKqwru/mxs+2czu8jdr4gyoRQUP81SrULOiUgZpUJSREqrimbWia0Fy8b4fXefHFlmqcML2E60LyJlkApJESmtFgH3FrDvQM/QM0o99czsUoLiPXeb2H7d6NISkbBo1LaIiBSLmV1f2Hl3vzGsXEQkGiokRaRUMrMr3P3O2PaJ7v5q3Lkh7v7f6LITEUkNGrUtIqXVKXHbV+c71yfMRFKVmd1lZucnOH6+md0eRU4iEi4VkiJSWlkB24n2JTl6Ak8kOP4k0DfkXEQkAiokRaS00ojh6FXwBP2j3D0HFfMiKUGjtkWktOpoZqsICpZKsW1i+xWjSyulrDezNu7+S/xBM2sDrI8oJxEJkQpJESmV3D096hyEwcD7ZnYLMCl2rDNBn9VLokpKRMKjUdsiUiqZWUXgAqA1MAUY5u6bo80q9ZhZO2AQ0C52aDpwl7tPjS4rEQmLCkkRKZXM7GUgCxgHHAHMcfeLo81KAMxsV2CQu58XdS4ikly6tS0ipVVbd28PYGZPA19FnE/KMbMOwN1AI+BN4BHgIWB/4J4IUxORkGjUtoiUVlm5G7qlHZkngeHA8cBy4DvgV6C1u98XYV4iEhLd2haRUsnMsoG1ubtAJWBdbNvdvXpUuaUKM/vO3feK2//N3VtGmJKIhEy3tkWkVNKo7RKhopl1YuuckRvj9919cmSZiUgo1CIpIiLFYmZjKXjyd3f3niGmIyIRUCEpIiIiIsWiwTYiIlIsZnZF3PaJ+c4NCT8jEQmbCkkRESmuU+K2r853rk+YiYhINFRIiohIcVkB24n2RaQMUiEpIiLF5QVsJ9oXkTJIg21ERKRY4ubyjJ/Hk9h+RXcvF1VuIhIOFZIiIiIiUiyakFxERIrFzCoCFwCtgSnAMC1XKZJa1CIpIiLFYmYvE6x5Pg44Apjj7hdHm5WIhEmFpIiIFIuZTXX39rHtDOArd9874rREJEQatS0iIsWVlbuhW9oiqUktkiIiUixxo7Yh78htI1hru3pUuYlIOFRIioiIiEix6Na2iIiIiBSLCkkRERERKRYVkiIiIiJSLCokRURERKRYVEiKiIiISLGokBQRERGRYvl/bbNXpQwPJowAAAAASUVORK5CYII=\n",
            "text/plain": [
              "<Figure size 576x576 with 2 Axes>"
            ]
          },
          "metadata": {
            "tags": [],
            "needs_background": "light"
          }
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "AJ1EMtW_7g1e",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 331
        },
        "outputId": "60d25fdc-cf4a-4652-f15c-7a327da53e2c"
      },
      "source": [
        "TRAIN_FINAL.describe()"
      ],
      "execution_count": 14,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/html": [
              "<div>\n",
              "<style scoped>\n",
              "    .dataframe tbody tr th:only-of-type {\n",
              "        vertical-align: middle;\n",
              "    }\n",
              "\n",
              "    .dataframe tbody tr th {\n",
              "        vertical-align: top;\n",
              "    }\n",
              "\n",
              "    .dataframe thead th {\n",
              "        text-align: right;\n",
              "    }\n",
              "</style>\n",
              "<table border=\"1\" class=\"dataframe\">\n",
              "  <thead>\n",
              "    <tr style=\"text-align: right;\">\n",
              "      <th></th>\n",
              "      <th>V / PERCENTILE(V)</th>\n",
              "      <th>PERCENTILE(AP) * PERCENTILE(V)</th>\n",
              "      <th>PERCENTILE(AP) / V * PERCENTILE(V) / V</th>\n",
              "      <th>AT</th>\n",
              "      <th>AP / V * PERCENTILE(V) / V</th>\n",
              "      <th>PERCENTILE(AP) / RH * PERCENTILE(V) / AP</th>\n",
              "      <th>AP / AT * AP / RH</th>\n",
              "      <th>AT * RH</th>\n",
              "      <th>V</th>\n",
              "      <th>PERCENTILE(AP) / V</th>\n",
              "    </tr>\n",
              "  </thead>\n",
              "  <tbody>\n",
              "    <tr>\n",
              "      <th>count</th>\n",
              "      <td>6458.000000</td>\n",
              "      <td>6458.000000</td>\n",
              "      <td>6.458000e+03</td>\n",
              "      <td>6458.000000</td>\n",
              "      <td>6458.000000</td>\n",
              "      <td>6.458000e+03</td>\n",
              "      <td>6458.000000</td>\n",
              "      <td>6458.000000</td>\n",
              "      <td>6458.000000</td>\n",
              "      <td>6458.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>mean</th>\n",
              "      <td>320.279630</td>\n",
              "      <td>0.219275</td>\n",
              "      <td>7.257078e-05</td>\n",
              "      <td>19.656499</td>\n",
              "      <td>0.151492</td>\n",
              "      <td>3.189050e-06</td>\n",
              "      <td>872.762136</td>\n",
              "      <td>1382.795233</td>\n",
              "      <td>54.350430</td>\n",
              "      <td>0.010393</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>std</th>\n",
              "      <td>2116.604273</td>\n",
              "      <td>0.160290</td>\n",
              "      <td>4.721430e-05</td>\n",
              "      <td>7.441464</td>\n",
              "      <td>0.047762</td>\n",
              "      <td>2.674294e-06</td>\n",
              "      <td>441.929236</td>\n",
              "      <td>472.728028</td>\n",
              "      <td>12.680831</td>\n",
              "      <td>0.007071</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>min</th>\n",
              "      <td>76.837349</td>\n",
              "      <td>0.000058</td>\n",
              "      <td>3.400390e-08</td>\n",
              "      <td>2.340000</td>\n",
              "      <td>0.000575</td>\n",
              "      <td>8.762123e-10</td>\n",
              "      <td>382.988552</td>\n",
              "      <td>163.051200</td>\n",
              "      <td>25.360000</td>\n",
              "      <td>0.000007</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>25%</th>\n",
              "      <td>88.170400</td>\n",
              "      <td>0.082008</td>\n",
              "      <td>3.120300e-05</td>\n",
              "      <td>13.550000</td>\n",
              "      <td>0.147574</td>\n",
              "      <td>1.104172e-06</td>\n",
              "      <td>583.996904</td>\n",
              "      <td>1014.820350</td>\n",
              "      <td>41.760000</td>\n",
              "      <td>0.004336</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>50%</th>\n",
              "      <td>104.916257</td>\n",
              "      <td>0.196131</td>\n",
              "      <td>6.831122e-05</td>\n",
              "      <td>20.370000</td>\n",
              "      <td>0.171926</td>\n",
              "      <td>2.558165e-06</td>\n",
              "      <td>733.638395</td>\n",
              "      <td>1397.638450</td>\n",
              "      <td>52.540000</td>\n",
              "      <td>0.009410</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>75%</th>\n",
              "      <td>164.938392</td>\n",
              "      <td>0.321696</td>\n",
              "      <td>1.100254e-04</td>\n",
              "      <td>25.710000</td>\n",
              "      <td>0.176726</td>\n",
              "      <td>4.594432e-06</td>\n",
              "      <td>1017.163547</td>\n",
              "      <td>1748.258700</td>\n",
              "      <td>66.540000</td>\n",
              "      <td>0.015745</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>max</th>\n",
              "      <td>69163.060000</td>\n",
              "      <td>0.795566</td>\n",
              "      <td>1.897883e-04</td>\n",
              "      <td>37.110000</td>\n",
              "      <td>0.201300</td>\n",
              "      <td>2.539635e-05</td>\n",
              "      <td>6487.229416</td>\n",
              "      <td>2647.989600</td>\n",
              "      <td>81.560000</td>\n",
              "      <td>0.028519</td>\n",
              "    </tr>\n",
              "  </tbody>\n",
              "</table>\n",
              "</div>"
            ],
            "text/plain": [
              "       V / PERCENTILE(V)  ...  PERCENTILE(AP) / V\n",
              "count        6458.000000  ...         6458.000000\n",
              "mean          320.279630  ...            0.010393\n",
              "std          2116.604273  ...            0.007071\n",
              "min            76.837349  ...            0.000007\n",
              "25%            88.170400  ...            0.004336\n",
              "50%           104.916257  ...            0.009410\n",
              "75%           164.938392  ...            0.015745\n",
              "max         69163.060000  ...            0.028519\n",
              "\n",
              "[8 rows x 10 columns]"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 14
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "KmMgm_UZ7lJm",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 348
        },
        "outputId": "956eb239-771f-44b0-c638-2d790a3623e6"
      },
      "source": [
        "TEST_FINAL.describe()"
      ],
      "execution_count": 15,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/html": [
              "<div>\n",
              "<style scoped>\n",
              "    .dataframe tbody tr th:only-of-type {\n",
              "        vertical-align: middle;\n",
              "    }\n",
              "\n",
              "    .dataframe tbody tr th {\n",
              "        vertical-align: top;\n",
              "    }\n",
              "\n",
              "    .dataframe thead th {\n",
              "        text-align: right;\n",
              "    }\n",
              "</style>\n",
              "<table border=\"1\" class=\"dataframe\">\n",
              "  <thead>\n",
              "    <tr style=\"text-align: right;\">\n",
              "      <th></th>\n",
              "      <th>V / PERCENTILE(V)</th>\n",
              "      <th>PERCENTILE(AP) * PERCENTILE(V)</th>\n",
              "      <th>PERCENTILE(AP) / V * PERCENTILE(V) / V</th>\n",
              "      <th>AT</th>\n",
              "      <th>AP / V * PERCENTILE(V) / V</th>\n",
              "      <th>PERCENTILE(AP) / RH * PERCENTILE(V) / AP</th>\n",
              "      <th>AP / AT * AP / RH</th>\n",
              "      <th>AT * RH</th>\n",
              "      <th>V</th>\n",
              "      <th>PERCENTILE(AP) / V</th>\n",
              "    </tr>\n",
              "  </thead>\n",
              "  <tbody>\n",
              "    <tr>\n",
              "      <th>count</th>\n",
              "      <td>15360.000000</td>\n",
              "      <td>15360.000000</td>\n",
              "      <td>1.536000e+04</td>\n",
              "      <td>15360.000000</td>\n",
              "      <td>15360.000000</td>\n",
              "      <td>1.536000e+04</td>\n",
              "      <td>15360.000000</td>\n",
              "      <td>15360.000000</td>\n",
              "      <td>15360.000000</td>\n",
              "      <td>15360.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>mean</th>\n",
              "      <td>335.142538</td>\n",
              "      <td>0.212629</td>\n",
              "      <td>7.060568e-05</td>\n",
              "      <td>19.663880</td>\n",
              "      <td>0.151050</td>\n",
              "      <td>3.126859e-06</td>\n",
              "      <td>874.043141</td>\n",
              "      <td>1381.797196</td>\n",
              "      <td>54.183174</td>\n",
              "      <td>0.010219</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>std</th>\n",
              "      <td>2076.531150</td>\n",
              "      <td>0.157593</td>\n",
              "      <td>4.696063e-05</td>\n",
              "      <td>7.450696</td>\n",
              "      <td>0.048540</td>\n",
              "      <td>2.715188e-06</td>\n",
              "      <td>444.320183</td>\n",
              "      <td>474.070757</td>\n",
              "      <td>12.705135</td>\n",
              "      <td>0.007113</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>min</th>\n",
              "      <td>76.837349</td>\n",
              "      <td>0.000029</td>\n",
              "      <td>1.700195e-08</td>\n",
              "      <td>1.810000</td>\n",
              "      <td>0.000575</td>\n",
              "      <td>3.465746e-10</td>\n",
              "      <td>395.111949</td>\n",
              "      <td>139.315700</td>\n",
              "      <td>25.360000</td>\n",
              "      <td>0.000003</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>25%</th>\n",
              "      <td>88.843361</td>\n",
              "      <td>0.077865</td>\n",
              "      <td>2.904441e-05</td>\n",
              "      <td>13.487500</td>\n",
              "      <td>0.144662</td>\n",
              "      <td>1.042706e-06</td>\n",
              "      <td>581.046765</td>\n",
              "      <td>1028.506425</td>\n",
              "      <td>41.660000</td>\n",
              "      <td>0.004176</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>50%</th>\n",
              "      <td>104.935903</td>\n",
              "      <td>0.189823</td>\n",
              "      <td>6.610332e-05</td>\n",
              "      <td>20.290000</td>\n",
              "      <td>0.171914</td>\n",
              "      <td>2.490210e-06</td>\n",
              "      <td>735.026527</td>\n",
              "      <td>1397.706000</td>\n",
              "      <td>51.860000</td>\n",
              "      <td>0.008927</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>75%</th>\n",
              "      <td>168.306246</td>\n",
              "      <td>0.314732</td>\n",
              "      <td>1.074962e-04</td>\n",
              "      <td>25.720000</td>\n",
              "      <td>0.177158</td>\n",
              "      <td>4.518568e-06</td>\n",
              "      <td>1005.696894</td>\n",
              "      <td>1758.544200</td>\n",
              "      <td>66.490000</td>\n",
              "      <td>0.015377</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>max</th>\n",
              "      <td>69163.060000</td>\n",
              "      <td>0.798017</td>\n",
              "      <td>1.894867e-04</td>\n",
              "      <td>34.960000</td>\n",
              "      <td>0.201268</td>\n",
              "      <td>2.627043e-05</td>\n",
              "      <td>7569.604046</td>\n",
              "      <td>2590.242400</td>\n",
              "      <td>80.250000</td>\n",
              "      <td>0.028485</td>\n",
              "    </tr>\n",
              "  </tbody>\n",
              "</table>\n",
              "</div>"
            ],
            "text/plain": [
              "       V / PERCENTILE(V)  ...  PERCENTILE(AP) / V\n",
              "count       15360.000000  ...        15360.000000\n",
              "mean          335.142538  ...            0.010219\n",
              "std          2076.531150  ...            0.007113\n",
              "min            76.837349  ...            0.000003\n",
              "25%            88.843361  ...            0.004176\n",
              "50%           104.935903  ...            0.008927\n",
              "75%           168.306246  ...            0.015377\n",
              "max         69163.060000  ...            0.028485\n",
              "\n",
              "[8 rows x 10 columns]"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 15
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "xYeTdksi6O2S",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 119
        },
        "outputId": "b53f83c6-0c05-4310-fa66-8f7ca8790935"
      },
      "source": [
        "i=0\n",
        "l=[]\n",
        "setused=TRAIN_FINAL\n",
        "scores=[]\n",
        "kfold, scores = KFold(n_splits=5,random_state=True), list()\n",
        "for train2, test2 in kfold.split(setused,Y):\n",
        "    x_train, x_test = setused.values[train2], setused.values[test2]\n",
        "    y_train, y_test = Y.values[train2], Y.values[test2]\n",
        "    ############################## \n",
        "    model = stack\n",
        "    model.fit(x_train, y_train)\n",
        "    preds = model.predict(x_test)\n",
        "    ######################(doesn work with stacking regressor)####\n",
        "    # feature_importances = pd.DataFrame(model.feature_importances_,\n",
        "    #                                    index = setused.columns,\n",
        "    #                                     columns=['importance'])\n",
        "    # sum=feature_importances.values\n",
        "    # l.append(sum)\n",
        "    ##########################3###################################\n",
        "    score = np.sqrt(mean_squared_error(y_test, preds))\n",
        "    scores.append(score)\n",
        "    print(score)\n",
        "print(\"Average: \", np.sum(scores)/len(scores))\n"
      ],
      "execution_count": 24,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "3.1117806877322494\n",
            "3.5274959823601693\n",
            "3.1564091641959364\n",
            "3.2292650363926434\n",
            "3.0770726853515717\n",
            "Average:  3.220404711206514\n"
          ],
          "name": "stdout"
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "iuolduXu_FWS",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 337
        },
        "outputId": "b1f6feea-c70e-4ff3-878c-43aacc5a5609"
      },
      "source": [
        "###this averages out the feature importances of each fold to show us on an average which features are doing better####\n",
        "#selectkbest or simply plotting nlargest may show feature importance from a single fold.\n",
        "#as trees doesn have a fixed structure to build the trees for reducing entropy the features which are preferred on an average by the trees give better pic\n",
        "train_set=setused\n",
        "labels=Y\n",
        "threshold=0.5\n",
        "add=0\n",
        "for item in l:\n",
        "  add+=item\n",
        "df_cv=pd.DataFrame(add/len(l),index=train_set.columns,columns=[\"importance\"]).sort_values('importance', ascending=False)\n",
        "imp_columns=df_cv[df_cv['importance']>threshold].index.tolist()\n",
        "df_cv=df_cv.reset_index()\n",
        "feat_imp = pd.Series(df_cv.importance.values, index=df_cv.drop([\"importance\"], axis=1)).sort_values(axis='index',ascending=False)\n",
        "X2=setused[imp_columns]\n",
        "feat_imp.nlargest(10).plot(kind='barh', figsize=(5,5))\n",
        "len(imp_columns)\n",
        "#this plot is for catboost only"
      ],
      "execution_count": 22,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "10"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 22
        },
        {
          "output_type": "display_data",
          "data": {
            "image/png": "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\n",
            "text/plain": [
              "<Figure size 360x360 with 1 Axes>"
            ]
          },
          "metadata": {
            "tags": [],
            "needs_background": "light"
          }
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "tQa9BOPLBZzL",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "#SUBMISSION MODULE\n",
        "#HERE FIRST THE PREDICTION ON 15K IS DONE AND THEN IT IS ADDED ON TO THE PRE EXISTING TEST SET HAVING SOME OF ITS COMMON VALUES IMPUTED AT BEGINING\n",
        "model2=stack\n",
        "filen='submission.xlsx'\n",
        "X_test = TEST_FINAL\n",
        "model2.fit(TRAIN_FINAL.values,Y.values)\n",
        "y_pred =model2.predict(X_test.values)\n",
        "df_test2['PE']=y_pred\n",
        "encode2 = dict(zip(df_test2.key, df_test2.PE))\n",
        "df1=pd.DataFrame()\n",
        "###THE VALUES WHICH COUDNT BE FOUND EARLIER ARE NOW BEING ADDED BY OUR MODEL######\n",
        "df1['PE']=df_test['PE'].fillna(df_test['key'].map(encode2))\n",
        "df1['PE'].to_excel('/GD/My Drive/power/'+str(filen),index=False)\n",
        "files.download('/GD/My Drive/power/'+str(filen))\n"
      ],
      "execution_count": null,
      "outputs": []
    }
  ]
}